Description
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.
Published: 2026-08-24
Score: 9.3 Critical
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability lies in the deepMerge helper of exceljs and allows an attacker to inject a malicious __proto__ property into cell notes. This exploitation path modifies Object.prototype and consequently alters every plain object constructed in the application. Because the prototype chain is altered, the attacker can introduce arbitrary properties that may be later accessed by the application, potentially leading to unintended behavior or code execution. The weakness is classified as CWE‑1321.

Affected Systems

The affected product is the ExcelJS JavaScript library (exceljs). All releases before version 4.4.0 are vulnerable, including the pre‑4.4.0 releases of both the standard exceljs library and the hardened variant prior to 5.0.0.

Risk and Exploitability

The CVSS score of 9.3 indicates high severity. No EPSS data is available and the vulnerability is not listed in the CISA KEV catalog, implying that no widespread exploitation is documented yet. The attack vector is most likely through ingestion of a malicious spreadsheet file containing serialized cell notes with a __proto__ key. Once the file is processed, the library’s deepMerge function fails to sanitize the key, allowing the attacker to pollute the global Object prototype. This high severity plus the lack of existing mitigations makes the risk significant for any application that loads untrusted Excel files.

Generated by OpenCVE AI on August 24, 2026 at 01:21 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to ExcelJS version 5.0.0 or later (or use exceljs-hardened 5.0.0+) where deepMerge rejects __proto__, constructor, or prototype keys.
  • If an upgrade is not feasible, add input validation to strip or reject any __proto__, constructor, or prototype keys from note JSON before it reaches deepMerge.
  • As a temporary containment measure, sandbox or restrict file uploads that contain notes, or disable note parsing for untrusted files.

Generated by OpenCVE AI on August 24, 2026 at 01:21 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 24 Aug 2026 00:45:00 +0000

Type Values Removed Values Added
Description 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.
Title exceljs through 4.4.0 Prototype Pollution via deepMerge Reached From Note Serialization
First Time appeared Exceljs Project
Exceljs Project exceljs
Weaknesses CWE-1321
CPEs cpe:2.3:a:exceljs_project:exceljs:*:*:*:*:*:*:*:*
Vendors & Products Exceljs Project
Exceljs Project exceljs
References
Metrics cvssV3_1

{'score': 9.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L'}

cvssV4_0

{'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'}


Subscriptions

Exceljs Project Exceljs
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-24T00:30:47.125Z

Reserved: 2026-08-24T00:15:01.656Z

Link: CVE-2026-78207

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-24T01:16:58.137

Modified: 2026-08-24T01:16:58.137

Link: CVE-2026-78207

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-24T01:30:04Z

Weaknesses
  • CWE-1321

    Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution')