Medium severity · published Oct 7, 2026
CVE-2026-107225
Excelize: GetStyle panics on a negative fillId, borderId or fontId in styles.xml
6.5
CVSS
0.3%
EPSS
No
On KEV
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 vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
Required
Confidentiality
None
Integrity
None
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 19% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
EX
excelize · qax-os
>= 2.8.0, <= 2.11.0 · source: vendor, NVD
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-107225
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-107225
x_refsource_CONFIRM
https://github.com/qax-os/excelize/security/advisories/GHSA-5h23-36rv-pm65
x_refsource_MISC
https://github.com/qax-os/excelize/pull/2367
x_refsource_MISC
https://github.com/qax-os/excelize/commit/ae2113b410e51f6a141c396a59eda8c42b91bc22
More from excelize
7.5
CVE-2026-107223
Excelize: Unbounded <col max> attribute is loaded with no MaxColumns check and expanded per-column by flatCols(), so any column mutator hangs or OOMs the process
7.5
CVE-2026-107219
Excelize: Unbounded spinCount in agile decryption burns CPU during OpenFile
7.5
CVE-2026-107217
Excelize ColumnNameToNumber: int64 overflow yields an out-of-domain coordinate with nil error, causing negative slice index panic on r="0" rows
7.5
CVE-2026-107216
Excelize ANCHORARRAY: mutually-referencing array formulas recurse unboundedly via re-entrant CalcCellValue, causing a fatal stack overflow
7.5
CVE-2026-107215
Excelize: extractPart allocates attacker-controlled, unbounded and negative-sized buffers from CFB directory entries: remote panic / OOM DoS
