-
CVSS Score
-The vulnerability stems from the set function's property expansion logic. Before the patch, when creating nested properties, it used a fallback to a standard object (|| {}) which inherits from Object.prototype. By using 'proto' as a key segment, attackers could modify the prototype chain. The commit fixed this by using Object.create(null) and hasOwnProperty checks to create prototype-less objects and prevent prototype chain pollution. The test case added in the commit demonstrates exactly this scenario with proto as a section name.
| Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
|---|---|---|---|
| properties-reader | npm | < 2.2.0 | 2.2.0 |
Ongoing coverage of React2Shell