Hunting Server Side Prototype Pollution

Hunt server-side prototype pollution in JavaScript and TypeScript backends where untrusted input sets a __proto__, constructor, or prototype key through a recursive merge, a deep clone, a path-based set, or a query or body parser, polluting Object.prototype so a later property read returns an attacker value. Covers the pollution primitive (the write that reaches the prototype) and the gadget (a downstream read of an unset property that changes control flow, a command, a template, or a query). Use when a Node service merges or path-assigns untrusted structured input into objects and later reads properties that may be absent. The untrusted key reaching the prototype is the source, the polluting merge or set is the sink, and the gadget read that turns pollution into impact is the bug.

UnboundCompute 0f9b1fb 9.2 KB Updated

File contents

UnboundCompute/security-agent-skills/tree/main/skills/hunting-server-side-prototype-pollution commit 0f9b1fb745

Frequently asked questions

npx skillmds@latest add unboundcompute/hunting-server-side-prototype-pollution