Cyber Risks · PortSwigger Research

Client-side prototype pollution

Summary: PortSwigger Research describes client-side prototype pollution as any user-controlled JSON property, query string, or hash parameter that gets converted to a JavaScript object and merged with another object, letting an attacker use keys like __proto__ to assign properties to Object.prototype or other global prototypes. The research states this is not a vulnerability on its own, but when paired with a gadget it can lead to issues such as DOM XSS that let the attacker control JavaScript on the page.

What's compelling: The writeup is explicit that prototype pollution alone is not the vulnerability - the damage comes from the gadget it is chained to, so a scanner flag on the merge point tells you little until you know what that page's JavaScript does with the polluted prototype.

Read the original at PortSwigger Research ↗

Topics
Vulnerabilities & Patching
Related