---
id: CVE-2026-59161
title: >-
  Excelize is a Go language library for reading and writing Microsoft Excel
  spreadsheets
summary: >-
  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 smal…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-400
  - CWE-770
vendor: excelize
product: excelize
affected:
  - excelize < 2.11.0
patched:
  - excelize 2.11.0
published: '2026-07-10'
updated: '2026-07-16'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-59161'
references:
  - url: >-
      https://github.com/qax-os/excelize/commit/93f0b3caed37f21ef5079e3259c6c21dcfe68453
    label: security-advisories@github.com
  - url: 'https://github.com/qax-os/excelize/pull/2331'
    label: security-advisories@github.com
  - url: 'https://github.com/qax-os/excelize/releases/tag/v2.11.0'
    label: security-advisories@github.com
  - url: 'https://github.com/qax-os/excelize/security/advisories/GHSA-q5j5-6p94-4gwc'
    label: security-advisories@github.com
  - url: 'https://github.com/qax-os/excelize/security/advisories/GHSA-q5j5-6p94-4gwc'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-59161'
  - url: 'https://github.com/advisories/GHSA-q5j5-6p94-4gwc'
  - url: 'https://github.com/qax-os/excelize'
tags:
  - nvd
  - ghsa
  - go
  - osv
epss: 0.00655
epssPercentile: 0.49152
ingestedAt: '2026-07-17T13:12:07.867Z'
aliases:
  - GHSA-q5j5-6p94-4gwc
  - GO-2026-6453
ecosystem: go
---

## Overview

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

- `excelize < 2.11.0`

## Remediation

Upgrade past the affected range:

- `excelize 2.11.0`

## Package advisory (CVE-2026-59161)

Affected packages:

- `github.com/xuri/excelize/v2 < 2.11.0`
- `github.com/xuri/excelize <= 1.4.0`

Patched in:

- `github.com/xuri/excelize/v2 2.11.0`

Source: https://github.com/advisories/GHSA-q5j5-6p94-4gwc
