Skip to content
OpenAdvisories
Medium · 6.5 CVE-2026-107224 EUVD-2026-94555GHSA-fw94-4wwp-w8pwGO-2026-6679

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

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, 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.

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-6679
Go github.com/xuri/excelize/v2 >= 2.1.0, < 2.11.1-0.20260805032953-db93f8d89de7 2.11.1-0.20260805032953-db93f8d89de7 GHSA-fw94-4wwp-w8pw
Go github.com/xuri/excelize/v2 < 2.11.1-0.20260805032953-db93f8d89de7 2.11.1-0.20260805032953-db93f8d89de7 GO-2026-6679

References