CVE-2018-16459: XSS

Published Sep 6, 2018
·
Updated

An unescaped payload in exceljs <v1.6 allows a possible XSS via cell value when worksheet is displayed in browser.

Other sources

Versions of exceljs before 1.6.0 are vulnerable to cross-site scripting.

This vulnerability is due to exceljs not validating data from parsed XLSX file and embedding HTML tags, like <script> directly into the sheet cells. Because of this it's possible to inject malicious JavaScript code and execute it when data from the sheet is displayed in the browser.

Recommendation

Update to version 1.6.0 or later.

Affected Software

2 affected componentsFixes available
npm/exceljs<1.6.0
1.6.0
Exceljs Project Exceljs Node.js<1.6

Event History

Sep 6, 2018
CVE Published
via MITRE·01:00 PM
Data Sourced
via MITRE·01:00 PM
DescriptionWeakness
Sep 11, 2018
Advisory Published
06:58 PM

Frequently Asked Questions

1

Who is exposed to this issue?

Applications using exceljs before 1.6.0 are exposed when they parse XLSX files and display worksheet cell values in a browser. The risk is particularly relevant if XLSX content can originate from untrusted sources.

2

What does an attacker need to exploit it?

An attacker needs to supply an XLSX file containing HTML tags or malicious JavaScript in a cell value, and a user must view the resulting worksheet in a browser. No attacker privileges are required.

3

Are default installations affected?

Any use of a vulnerable exceljs version before 1.6.0 can be affected if parsed worksheet data is embedded in a browser without safe handling. The issue stems from cell data not being validated before HTML is embedded.

4

What should be done if an immediate upgrade is not possible?

Avoid displaying cell values from untrusted XLSX files as HTML in a browser. Treat parsed cell content as untrusted data and ensure it is not embedded as executable HTML.

5

How can I determine whether an application is affected?

Check whether the application depends on exceljs before version 1.6.0 and whether it parses XLSX files whose worksheet data is rendered in a browser. Test or review the rendering path for cell values containing HTML tags such as script elements.

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