CVE-2026-78207: exceljs through 4.4.0 Prototype Pollution via deepMerge Reached From Note Serialization

Published Aug 24, 2026
·
Updated

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.

Affected Software

1 affected component
exceljs-hardened<5.0.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade exceljs to a version that resolves this vulnerability.

    Fixed in 4.4.0
  2. Upgrade

    Upgrade exceljs-hardened to a version that resolves this vulnerability.

    Fixed in 5.0.0

Event History

Aug 24, 2026
CVE Published
via MITRE·12:30 AM
Data Sourced
via MITRE·12:30 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed?

Deployments using exceljs-hardened versions before 5.0.0 are affected if untrusted parsed JSON can be assigned to cell notes and then processed through note serialization.

2

What does an attacker need to exploit this issue?

An attacker needs a way to supply or influence parsed JSON assigned to cell notes. The malicious object must include a __proto__, constructor, or prototype key that reaches the deepMerge helper.

3

What is the impact once exploitation succeeds?

The vulnerable merge can modify Object.prototype, affecting all plain objects subsequently created in the process. The reported impact includes high confidentiality and integrity impact and low availability impact.

4

What should teams do if they cannot immediately upgrade?

Do not assign untrusted parsed JSON directly to cell notes. Validate or recursively sanitize note objects to reject __proto__, constructor, and prototype keys before they reach note serialization.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203