CVE-2026-107225
From 2.8.0 to 2.11.0, GetStyle's fill, border, and font extraction predicates check only upper bounds for attacker-controlled style-table indices.
Does this matter?
Lower severity and a low EPSS score (0.27%). Track it; it rarely justifies an emergency change on its own.
Description
Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.8.0 to 2.11.0, GetStyle's fill, border, and font extraction predicates check only upper bounds for attacker-controlled style-table indices. File.GetStyle relies on extractStyleCondFuncs predicates that allow negative FillID, BorderID, and FontID values to reach slice indexing. When a crafted styles.xml supplies a negative fillId, borderId, or fontId and the application reads the style, a negative identifier passes the upper-bound-only predicate and becomes a negative slice index, allowing an attacker to panic while reading cell styling. No fixed version is available as of this review.
- CVSS 3.1
- 6.5 MEDIUMCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
- EPSS
- 0.27% probability · 19th percentile
- Public exploits
- None in Exploit-DB
- CISA KEV
- Not listed
- Weakness
- CWE-20, CWE-129
- Affected
- excelize/excelize
- Source
- security-advisories@github.com
EPSS moved from 0.2% on 8 October 2026 to 0.3% on 26 October 2026.
References
- https://github.com/qax-os/excelize/commit/ae2113b410e51f6a141c396a59eda8c42b91bc22Patch
- https://github.com/qax-os/excelize/pull/2367Issue Tracking, Patch
- https://github.com/qax-os/excelize/security/advisories/GHSA-5h23-36rv-pm65Exploit, Vendor Advisory
- https://github.com/qax-os/excelize/security/advisories/GHSA-5h23-36rv-pm65Exploit, Vendor Advisory
Source: NVD record, EPSS from FIRST.org, KEV from CISA, exploits from Exploit-DB. Refreshed daily. Download this record as JSON.