← vuln-lab catalog

Prototype Pollution

JSON from location.hash is deep-merged into an object with a recursive merge() that never rejects the __proto__ key — so an attacker writes onto Object.prototype, affecting every object in the page.

(set a #hash)

Trigger: /proto-pollution/#{"__proto__":{"polluted":"yes","isAdmin":true}}

Detected by: browser_cdp_prototype_pollution_scan