CyberRota Analysis
AI-GeneratedThe Yayson library for JavaScript, prior to version 4.3.0, is vulnerable to prototype pollution due to improper handling of attacker-controlled JSON:API type, id, and relationship names, allowing malicious users to modify Object.prototype. This vulnerability can lead to denial of service, logic corruption, and potential authorization bypass or code execution, depending on the application's context. Organizations using affected versions of Yayson should prioritize upgrading to version 4.3.0 to mitigate these critical risks.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Yayson is a library for serializing and reading JSON API data in JavaScript. Prior to 4.3.0, Store and LegacyStore use attacker-controlled JSON:API type, id, and relationship names as keys in plain-object lookup tables in src/yayson/store.ts and src/yayson/legacy-store.ts. A document whose type is __proto__ causes model-cache writes to modify Object.prototype, with the attacker controlling the polluted property name through id and its value through attributes. The malicious type can also be supplied by an included resource, and LegacyStore is reachable when a configured types mapping resolves to __proto__. Unsafe relationship names including __proto__, constructor, and prototype provide additional document-derived member paths. The resulting process-wide prototype pollution can cause denial of service and logic corruption; authorization bypass or code execution depends on suitable gadgets in the consuming application. This issue is fixed in version 4.3.0.