CVE-2026-107223CWE-789
CVE-2026-107223
High · published October 7, 2026
What it is
Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.1.0 to 2.11.0, flatCols expands file-loaded column ranges without validating Min and Max against the worksheet column limit. SetColWidth reaches flatCols, which expands xlsxCol.Min through xlsxCol.Max without enforcing MaxColumns. When a crafted worksheet supplies an oversized col max attribute and the application invokes a column mutator, flatCols performs a deep copy and append for every attacker-selected column number, allowing an attacker to consume excessive CPU and memory or trigger OOM. No fixed version is available as of this review.
The record
Technical detail
- CVSS v3.1
- 7.5 · HIGH
- Vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v4.0
- 7.1 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
- EPSS
- 0.00345 · 26.9th percentile
- Weakness
- CWE-789 · Memory Allocation with Excessive Size Value
- Published
- 2026-10-07T23:17Z
Affected products (1)
| Product | Versions | Fixed in |
|---|
| excelize/excelize | ≥ 2.1.0, ≤ 2.11.0 | — |
References (3)
EPSS history
Timeline
09 OCT 03:26Z
EPSS moved — → 0%
epss
07 OCT 18:48Z
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
cvelistv5
07 OCT 18:48Z
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
cvelistv5