[ CVE-2026-107214 · Published 7 Oct 2026 ]
Excelize Decrypt: unrecoverable panics on malformed OLE/CFB encrypted workbooks
[ Why it matters ]Priority signals
- Public proof-of-concept exploit exists (CISA SSVC)
[ Description ]Official description
Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.3.1 to 2.11.0, the decryption dispatch performs insufficient structural and parameter validation before standard and agile decryptors slice, index, allocate, and divide using attacker-controlled values. Decrypt passes attacker-controlled EncryptionInfo and EncryptedPackage data into standardDecrypt or agileDecrypt before validating the structures used by those routines. When a malformed OLE compound file with a version-valid EncryptionInfo stream is opened or passed to Decrypt, nine malformed-input classes reach unrecovered Go runtime panics instead of the documented error path, allowing an attacker to terminate the calling process. No fixed version is available as of this review.
[ Fixes ]Fixes and patches
- github.com/xuri/excelize/v2 2.11.1-0.20260915055537-22f76f9acb94Fixed version · GitHub Advisories · go package github.com/xuri/excelize/v2: upgrade to 2.11.1-0.20260915055537-22f76f9acb94 or later (affected >= 2.3.1, < 2.11.1-0.20260915055537-22f76f9acb94)
- Patch on github.comVendor patch or bulletin · NVD · Reference tagged 'Patch' by NVD
- Patch on github.comVendor patch or bulletin · NVD · Reference tagged 'Patch' by NVD
[ Packages ]Affected open-source packages
- github.com/xuri/excelize/v2 goAffected >= 2.3.1, < 2.11.1-0.20260915055537-22f76f9acb94 · fixed in 2.11.1-0.20260915055537-22f76f9acb94 · GHSA-2j4c-ffch-9f23
[ References ]References
- github.com/qax-os/excelize/commit/22f76f9acb94b85b3eb9c4365ab4f750cebbc565Patch
- github.com/qax-os/excelize/pull/2395Issue TrackingPatch
- github.com/qax-os/excelize/security/advisories/GHSA-2j4c-ffch-9f23ExploitVendor Advisory