Skip to main content
← All vulnerabilities
CVE-2026-107223GHSA-FQ3V-74GV-27GM

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
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.11.1-0.20260807015645-a54c578af309
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • qax-os excelize

    From 2.1.0 · through 2.11.0

  • github.com/xuri/excelize/v2Go

    From 2.1.0 · fixed in 2.11.1-0.20260807015645-a54c578af309

References 3

GitHub · qax-os/excelize