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.
Published: 2026-08-24
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Prototype Pollution
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises from the deepMerge helper in exceljs, which fails to reject special keys such as __proto__, constructor, or prototype when merging note objects. An attacker can supply a spreadsheet file with a malicious __proto__ property in a cell note. When processed, the library propagates that key into Object.prototype, polluting the global prototype chain. Because all plain objects constructed after the attack inherit from Object.prototype, subsequent code may behave unexpectedly or execute arbitrary code. This weakness is classified as CWE-1321.

Affected Systems

The affected product is the ExcelJS JavaScript library. All releases through version 4.4.0, including 4.4.0 itself, are vulnerable. No specific vendor-supplied workarounds or patches are listed, and the issue is reported in the community repositories and advisories.

Risk and Exploitability

The CVSS score of 9.3 indicates a high severity risk. The EPSS score of less than 1% suggests a low probability of exploitation at this time. The vulnerability is not listed in the CISA KEV catalog, meaning no known widespread exploit campaigns have been documented. The attack vector is likely via ingestion of a malicious spreadsheet containing serialized cell notes with a __proto__ key. If the file is processed by the library, the prototype pollution will occur.

Generated by OpenCVE AI on August 29, 2026 at 14:20 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to a version of exceljs released after 4.4.0 once a patch addressing this issue is available.
  • If upgrading is not immediately possible, validate the JSON before deepMerge: strip or reject any occurrences of __proto__, constructor, or prototype keys in note objects.
  • As an additional containment measure, restrict or disable note processing for files from untrusted sources, or perform the import in a sandboxed environment.

Generated by OpenCVE AI on August 29, 2026 at 14:20 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 29 Aug 2026 12:00: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. 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.

Mon, 24 Aug 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


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-29T11:47:57.933Z

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

Link: CVE-2026-78207

cve-icon Vulnrichment

Updated: 2026-08-24T17:46:54.055Z

cve-icon NVD

Status : Deferred

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

Modified: 2026-08-31T20:52:56.343

Link: CVE-2026-78207

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-29T14:30:05Z

Weaknesses
  • CWE-1321

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