Patch Forecast
Yellow warning
Plan into this sprint.

CVE-2026-107224 · GHSA-fw94-4wwp-w8pw

Excelize: A Zip64 uncompressed-size of 2^63 panics OpenFile/OpenReader

Risk score
54/100
CVSS
6.5 v3.1
Exploit chance (30 days)
0.3%
Published
7 Oct 2026

Open in the live forecast Today's forecast

What to know

What it is
Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.1.0 to 2.11.0, a Zip64 uncompressed size with the high bit set is converted from uint64 to a negative int64 before signed size-limit checks and allocation. ReadZipReader obtains UncompressedSize64 through FileInfo.Size and p…
Affected
github.com/xuri/excelize/v2 (go) >= 2.1.0, < 2.11.1-0.20260805032953-db93f8d89de7
Fix
Upgrade github.com/xuri/excelize/v2 to 2.11.1-0.20260805032953-db93f8d89de7 or later.
Exploitation
Public proof of concept

Story map

Story map: github.com/xuri/excelize/v2THE FLAWSTHE FIXCVE-2026-107224Excelize: A Zip64uncompressed-size of 2^63panics OpenFile/OpenReaderCVSS 6.5 · EPSS 0%CVE-2026-107223Excelize: Unbounded <col max>attribute is loaded with noMaxColumns check and…CVSS 7.5 · EPSS 0%CVE-2026-107212Excelize: Unbounded rownumber in Rows.Columns makesGetRows and the Rows…CVSS 7.5 · EPSS 0%CVE-2026-107217Excelize ColumnNameToNumber:int64 overflow yields anout-of-domain coordinate…CVSS 7.5 · EPSS 0%FixUpgradegithub.com/xuri/excelize/v2 to2.11.1-0.20260807015645-a54c578af309 or later.Who is exposedgithub.com/xuri/excelize/v2(go) >= 2.1.0, <2.11.1-0.20260807015645-a54c578af309AMBER · PATCH THIS WEEKgithub.com/xuri/excelize/v2Excelize is a Go language libraryfor reading and writingMicrosoft Excel spreadsheets.From 2.1.0 to 2.11.0, flatColsexpands file-loaded columnranges without validating Minand Max against the worksheet…Where it standsPublic proof of conceptCONNECTS TOSame weaknessInteger overflow (CWE-190)124 other warnings in 30 days →Same productEarlier github.com/xuri/excelize/v2 warnings11 in the last 90 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

github.com/xuri/excelize/v2: Amber, patch this week. 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 MaxCo…

The flaws

  • CVE-2026-107224: Excelize: A Zip64 uncompressed-size of 2^63 panics OpenFile/OpenReader (CVSS 6.5 · EPSS 0%)
  • 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 (CVSS 7.5 · EPSS 0%)
  • CVE-2026-107212: Excelize: Unbounded row number in Rows.Columns makes GetRows and the Rows iterator loop for days (CVSS 7.5 · EPSS 0%)
  • 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 (CVSS 7.5 · EPSS 0%)

The fix

Fix: Upgrade github.com/xuri/excelize/v2 to 2.11.1-0.20260807015645-a54c578af309 or later.

Who is exposed: github.com/xuri/excelize/v2 (go) >= 2.1.0, < 2.11.1-0.20260807015645-a54c578af309

Where it stands

  • Public proof of concept

Connects to

Why it is Yellow

  • CVSS 6.5 medium
  • Public exploit or proof of concept referenced
  • On your watchlist: Go

Affected packages

PackageEcosystemVulnerableFixed in
github.com/xuri/excelize/v2go>= 2.1.0, < 2.11.1-0.20260805032953-db93f8d89de72.11.1-0.20260805032953-db93f8d89de7

References

Original description

Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.1.0 to 2.11.0, a Zip64 uncompressed size with the high bit set is converted from uint64 to a negative int64 before signed size-limit checks and allocation. ReadZipReader obtains UncompressedSize64 through FileInfo.Size and passes the wrapped negative value to readFile. When a crafted Zip64 entry declares an uncompressed size from 2^63 through 2^64-1 and the workbook is opened, the negative size bypasses unzip limits and reaches make as a negative capacity, allowing an attacker to panic during workbook opening. No fixed version is available as of this review.

Last activity 7 Oct 2026. Patch Forecast updates every hour.