# CVE-2021-32014: SheetJS Pro denial of service in XLSX parsing

Source: https://junglewise.ai/threats/cve-2021-32014-sheetjs-pro-denial-of-service-in-xlsx-parsing  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2021-07-22. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2021-32014 · Severity: low · CVSS 3.1 · Published 2021-07-22

SheetJS Pro is a popular JavaScript library for reading and writing Excel spreadsheets. A vulnerability in versions through 0.16.9 allows an attacker to craft a malicious .xlsx file that causes excessive CPU consumption when processed, potentially crashing applications or making them unresponsive. This could disrupt business operations if users or systems process untrusted Excel files.

Technologies: [org.webjars.npm:xlsx (Maven)](https://junglewise.ai/threats/technologies/org-webjars-npm-xlsx), [xlsx (npm)](https://junglewise.ai/threats/technologies/xlsx). Vendors: [Maven](https://junglewise.ai/threats/vendors/maven), [npm](https://junglewise.ai/threats/vendors/npm).

## Quick answers

**Is CVE-2021-32014 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2021-32014 being exploited in the wild.

**How severe is CVE-2021-32014?** Low severity, with a CVSS score of 3.1, published 22 July 2021.

**Which products and versions are affected?** org.webjars.npm:xlsx (Maven) ECOSYSTEM:introduced=0,fixed=0.17.0; xlsx (npm) SEMVER:introduced=0,fixed=0.17.0.

**Is there a fix for CVE-2021-32014?** Yes. org.webjars.npm:xlsx (Maven): upgrade to 0.17.0 or later; xlsx (npm): upgrade to 0.17.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2021-32014 attacked?** It is attacked with local access.

**Am I affected by CVE-2021-32014?** Check whether you run org.webjars.npm:xlsx (Maven) or xlsx (npm) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- org.webjars.npm:xlsx (Maven): upgrade to 0.17.0 or later

  ```sh
  # set org.webjars.npm:xlsx to 0.17.0 in your pom.xml or build.gradle
  ```

- xlsx (npm): upgrade to 0.17.0 or later

  ```sh
  npm install xlsx@0.17.0
  ```


## Technical details

The vulnerability is a denial of service issue triggered by improper handling of malformed .xlsx documents during parsing. The attack vector is local with user interaction required—a victim must open or process a crafted Excel file with the vulnerable library. An attacker can cause CPU exhaustion by triggering algorithmic inefficiencies in the xlsx.js parsing logic. The issue is rooted in insufficient input validation (CWE-345, CWE-400). The vulnerability was fixed in version 0.17.0; users should upgrade immediately.

## Affected products

- SheetJS xlsx through 0.16.9

## Identifiers

- CVE-2021-32014
- GHSA-g973-978j-2c3p

## Timeline

- 2021-07-22: disclosed: Advisory published
- 2021: patched: Fixed in version 0.17.0

## References

- [https://floqast.com/engineering-blog/post/fuzzing-and-parsing-securely](https://floqast.com/engineering-blog/post/fuzzing-and-parsing-securely)

## Related threats

- [SheetJS Regular Expression Denial of Service](https://junglewise.ai/threats/cve-2024-22363-sheetjs-regular-expression-denial-of-service)
- [SheetJS prototype pollution in file parsing](https://junglewise.ai/threats/cve-2023-30533-sheetjs-prototype-pollution-in-file-parsing)
- [SheetJS xlsx denial of service via memory consumption](https://junglewise.ai/threats/cve-2021-32012-sheetjs-xlsx-denial-of-service-via-memory-consumption)
- [SheetJS Pro denial of service via crafted XLSX](https://junglewise.ai/threats/cve-2021-32013-sheetjs-pro-denial-of-service-via-crafted-xlsx)
