Skip to content
OpenAdvisories
High · 8.7 CVE-2026-59161 EUVD-2026-42936GHSA-q5j5-6p94-4gwcGO-2026-6453

Excelize: Streaming GetRows row-bound bypass causes attacker-controlled allocation

Published Jul 10, 2026 · Updated Jul 14, 2026 · Assigned by GitHub_M

Description

Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. Prior to 2.11.0, the streaming worksheet reader used by Rows and GetRows does not enforce the TotalRows limit on the row r attribute, allowing a small XLSX file with a row number above 1048576 and no cell coordinate to make GetRows append empty rows up to the attacker-controlled index and consume excessive memory and CPU. This issue is fixed in version 2.11.0.

Affected products

VendorProductAffectedFixed
qax-os excelize < 2.11.0 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
SLES for SAP 16.0 govulncheck-vulndb 0.0.20260916T180043-160000.1.1 SUSE-SU-2026:23863-1, SUSE-SU-2026:23855-1
SLES 16.0 govulncheck-vulndb 0.0.20260916T180043-160000.1.1 SUSE-SU-2026:23863-1, SUSE-SU-2026:23855-1
ReleasePackageFixed inAdvisory
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260916T180043-160000.1.1 openSUSE-SU-2026:21897-1

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/xuri/excelize <= 1.4.0 — GHSA-q5j5-6p94-4gwc
Go github.com/xuri/excelize/v2 < 2.11.0 2.11.0 GHSA-q5j5-6p94-4gwc

Advisories 3

References