# CVE-2026-107214: Excelize Decrypt panic on malformed OLE encrypted workbooks

Source: https://junglewise.ai/threats/cve-2026-107214-excelize-decrypt-unrecoverable-panics-on-malformed-ole-cfb  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-08. Updated: 2026-10-08  
License: CC BY 4.0 with a link back

CVE-2026-107214 · Severity: high · CVSS 7.5 · Published 2026-10-08

Excelize is a Go library for reading and writing Excel spreadsheets. An attacker can craft a malformed encrypted spreadsheet file that causes the library to crash with an unrecovered panic when processing uploads or conversions, disrupting service availability without requiring authentication or a valid password.

Technologies: [github.com/360EntSecGroup-Skylar/excelize/v2 (Go)](https://junglewise.ai/threats/technologies/github-com-360entsecgroup-skylar-excelize-v2), [github.com/xuri/excelize/v2 (Go)](https://junglewise.ai/threats/technologies/github-com-xuri-excelize-v2), [Xuri Excelize](https://junglewise.ai/threats/technologies/excelize). Vendors: [Go](https://junglewise.ai/threats/vendors/go), [Xuri](https://junglewise.ai/threats/vendors/xuri).

## Quick answers

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

**How severe is CVE-2026-107214?** High severity, with a CVSS score of 7.5, published 8 October 2026.

**Which products and versions are affected?** github.com/360EntSecGroup-Skylar/excelize/v2 (Go) SEMVER:introduced=2.3.1; github.com/xuri/excelize/v2 (Go) >= 2.3.1, < 2.11.1-0.20260915055537-22f76f9acb94, SEMVER:introduced=0,fixed=2.11.1-0.20260915055537-22f76f9acb94, SEMVER:introduced=2.3.1,fixed=2.11.1-0.20260915055537-22f76f9acb94; Xuri Excelize before fix.

**Is there a fix for CVE-2026-107214?** Yes. github.com/xuri/excelize/v2 (Go): upgrade to 2.11.1-0.20260915055537-22f76f9acb94 or later. Until then: A recover() boundary in the Decrypt function mapping panics to ErrWorkbookFileFormat error is the primary fix. Per-site length validation of OLE encryption structures is recommended as defense in depth. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-107214 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-107214?** Check whether you run github.com/360EntSecGroup-Skylar/excelize/v2 (Go), github.com/xuri/excelize/v2 (Go) or Xuri Excelize 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

- github.com/xuri/excelize/v2 (Go): upgrade to 2.11.1-0.20260915055537-22f76f9acb94 or later

  ```sh
  go get github.com/xuri/excelize/v2@v2.11.1-0.20260915055537-22f76f9acb94
  ```


A recover() boundary in the Decrypt function mapping panics to ErrWorkbookFileFormat error is the primary fix. Per-site length validation of OLE encryption structures is recommended as defense in depth.

## Technical details

The vulnerability exists in the Decrypt function and its callees (standardDecrypt, agileDecrypt), which process OLE compound-file encrypted workbooks. Multiple code paths perform slice accesses without prior validation of buffer lengths and structure fields, including zero-valued KeySize and missing EncryptedPackage streams. Attackers can trigger panics during the initial structural parsing phase before any legitimate decryption occurs; panics bypass the documented error-handling contract and terminate the process.

## Affected products

- xuri Excelize before fix

## Identifiers

- CVE-2026-107214
- GHSA-2j4c-ffch-9f23
- GO-2026-6684

## Timeline

- 2026-10-08: disclosed

## Related threats

- [Excelize unchecked pivot-cache field index bounds in extractPivotTableFields](https://junglewise.ai/threats/cve-2026-107211-excelize-unchecked-pivot-cache-field-index-in)
- [Excelize unbounded row iteration denial of service](https://junglewise.ai/threats/cve-2026-107212-excelize-unbounded-row-number-in-rows-columns-makes-getrows-and)
- [Excelize nil-pointer dereference in GetSlicers](https://junglewise.ai/threats/cve-2026-107213-excelize-nil-pointer-dereference-in-getslicers-when-a-worksheet)
- [Excelize extractPart unbounded buffer allocation DoS](https://junglewise.ai/threats/cve-2026-107215-excelize-extractpart-allocates-attacker-controlled-unbounded-and)
- [Excelize ANCHORARRAY mutually-referencing formulas stack overflow](https://junglewise.ai/threats/cve-2026-107216-excelize-anchorarray-mutually-referencing-array-formulas-recurse)
