Skip to content
OpenAdvisories
High · 7.1 CVE-2026-107223 EUVD-2026-94554GHSA-fq3v-74gv-27gmGO-2026-6678

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

Published Oct 7, 2026 · Updated Oct 7, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
qax-os excelize >= 2.1.0, <= 2.11.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/360EntSecGroup-Skylar/excelize/v2 >= 2.1.0 — GO-2026-6678
Go github.com/xuri/excelize/v2 < 2.11.1-0.20260807015645-a54c578af309 2.11.1-0.20260807015645-a54c578af309 GO-2026-6678
Go github.com/xuri/excelize/v2 >= 2.1.0, < 2.11.1 2.11.1 GHSA-fq3v-74gv-27gm

References