Description
exceljs through 4.4.0 contains a prototype pollution vulnerability in the deepMerge helper that fails to reject __proto__, constructor, or prototype keys when merging note objects. Attackers can assign parsed JSON with a malicious __proto__ property to cell notes, modifying Object.prototype and affecting all plain objects created in the process.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
exceljs exceljs
Default version status: unaffected
0 to ≤ 4.4.0affected
pkg:npm/exceljsReferences
- https://github.com/exceljs/exceljs ↗
- https://github.com/mateocallec/exceljs-hardened/security/advisories/GHSA-qwr4-7h29-chpf ↗
- https://github.com/exceljs/exceljs/blob/v4.4.0/lib/utils/under-dash.js#L155-L181 ↗
- https://www.vulncheck.com/advisories/exceljs-through-prototype-pollution-via-deepmerge-reached-from-note-serialization ↗