CVE-2026-107211
Excelize: Unchecked pivot-cache field index in extractPivotTableFields causes unrecoverable panic
Impact
Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.8.1 to 2.11.0, separately parsed pivot-table field indices are used to index the pivot-cache field-name slice without bounds checks. extractPivotTableFields uses getPivotCacheFieldsName output while processing GetPivotTables and trusts the dataField fld attribute as an index. When a crafted workbook supplies a pivot-field count mismatch or an out-of-range dataField fld value before GetPivotTables is called, the unchecked index causes a Go slice-bounds panic that escapes the library, allowing an attacker to crash the process or request worker. No fixed version is available as of this review.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| go | github.com/xuri/excelize/v2 | >= 2.8.1, < 2.11.1-0.20261003002531-6258dcebc4e2 | 2.11.1-0.20261003002531-6258dcebc4e2 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Excelize | Excelize | from 2.8.1 through 2.11.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-mx22-3794-2vpv
- https://github.com/qax-os/excelize/security/advisories/GHSA-mx22-3794-2vpv
- https://nvd.nist.gov/vuln/detail/CVE-2026-107211
- https://github.com/qax-os/excelize/pull/2435
- https://github.com/qax-os/excelize/commit/6258dcebc4e2a2aed985c38a08098dfd908521d1