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

High 8.7 Published Updated

An attacker can cause excessive memory and CPU consumption in applications using the Excelize library by providing a crafted XLSX file with invalid row indices.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-59161?

CVE-2026-59161 is a high-severity denial of service vulnerability in qax-os excelize, published on 10 Jul 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

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

Weakness: CWE-770, CWE-400

Which versions are affected by CVE-2026-59161?

5 open source packages ship an affected version, including github.com/xuri/excelize/v2 and github.com/xuri/excelize. It affects 1 product.

PackageAffectedFixed in
github.com/xuri/excelize/v2 GoAll versions2.11.0
github.com/xuri/excelize/v2 GoAll versions2.11.0
github.com/xuri/excelize/v2 GoAll versions2.11.0
github.com/xuri/excelize GoAll versions to 1.4.0None
github.com/xuri/excelize GoAll versions to 1.4.0None

Products include Excelize Excelize.

How do I fix CVE-2026-59161?

Upgrade github.com/xuri/excelize/v2 to 2.11.0 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2026-59161 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-59161 exists.

Sources

Also known as GHSA-q5j5-6p94-4gwc, GO-2026-6453.

Is CVE-2026-59161 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free