Executive brief
StealJS is a module loader and build tool for web applications. A prototype pollution vulnerability in its babel.js component allows attackers to modify JavaScript object prototypes, potentially compromising the integrity of an application. This could lead to unauthorized code execution, data theft, or application malfunction.
Technical details
A prototype pollution vulnerability exists in the extend function within babel.js in StealJS, exploitable via the key variable. The vulnerability is classified as CWE-1321 (Improper Restriction of Rendered UI Layers or Frames) and affects the core object extension logic. The attack is network-accessible, requires no authentication or user interaction, and allows attackers to pollute Object.prototype by injecting arbitrary properties. An attacker can achieve arbitrary code execution or significant modifications to application behavior. All versions through 2.3.0 are affected; patch information is available from the StealJS repository.
Affected products
- StealJS steal through 2.3.0
Timeline
- 2022-09-16: disclosed: GHSA-vwhq-pm3r-fjm9 published
- 2022-09-15: other: CVE-2022-37266 published on NVD
- 2022-09-14: other: Issue opened in StealJS repository