exceljs-hardened before 5.0.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.
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
Published: 2026-08-24
Updated: 2026-08-24
Base Score: 9.7
Vector: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:P
Severity: High
Base Score: 9.4
Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L
Severity: Critical
Base Score: 9.3
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
Severity: Critical