Prototype pollution is a class of vulnerabilities in prototype-based languages such as JavaScript runtimes that allows attackers to overwrite arbitrary properties in an object's root prototype. In a prototype pollution attack, attackers inject properties into existing JavaScript construct prototypes with unsafe merges. Prototype pollution can affect client-side and server-side runtimes. Using prototype pollution to modify properties called by gadgets could lead to Denial of Service (DoS) attacks, code execution, or privilege escalation.
References
↑Li, Song; Kang, Mingqing; Hou, Jianwei; Cao, Yinzhi (2021-08-18). "Detecting Node.js prototype pollution vulnerabilities via object lookup analysis". Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ESEC/FSE 2021. New York, NY, USA: Association for Computing Machinery. pp.268–279. doi:10.1145/3468264.3468542. ISBN978-1-4503-8562-6.
↑Hakim, Ismail Abdurrahman; Widyawan; Mustika, I Wayan; Prasetyo, Eko (2023-12-01). "A Multivocal Literature Review on Prototype Pollution Vulnerability". 2023 International Conference on Information Technology and Computing (ICITCOM). IEEE. pp.375–379. doi:10.1109/ICITCOM60176.2023.10442205. ISBN979-8-3503-5963-3.