Description
plist.js (npm package 'plist') before 5.0.1 contains an uncontrolled resource consumption vulnerability in the binary property-list parser (parseBinary) that allows unauthenticated attackers to crash a Node.js process by exploiting unmemoized recursive resolution of shared object references for arrays and dictionaries. Attackers can craft a small binary plist (under 200 bytes) containing chained self-referencing object indices to trigger exponential (2^N) resolution calls and memory growth, causing an unrecoverable out-of-memory crash and denial of service.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| TooTallNate | plist.js | < 5.0.1 | 5.0.1 |
References
- plist.js plist@5.0.1 Release Notes patch issue-tracking release-notes
- https://github.com/TooTallNate/plist.js/commit/ac871e67aa0b0440da50bf40d58c6deddce9d8c1 patch
- VulnCheck Advisory: plist.js before 5.0.1 Uncontrolled Resource Consumption via Binary Parser third-party-advisory