GO-2026-6453

Source
https://pkg.go.dev/vuln/GO-2026-6453
Import Source
https://vuln.go.dev/ID/GO-2026-6453.json
JSON Data
https://api.osv.dev/v1/vulns/GO-2026-6453
Aliases
Published
2026-09-16T18:00:43Z
Modified
2026-09-17T17:30:11Z
Summary
Unbounded memory allocation via streaming row reader in github.com/xuri/excelize
Details

In github.com/xuri/excelize/v2, the streaming worksheet reader used by Rows and GetRows does not enforce the maximum row limit (TotalRows) on row "r" attributes. A crafted spreadsheet with an out-of-bounds row index causes GetRows to allocate empty row slices up to the specified row number, leading to excessive memory consumption and denial of service.

Database specific
{
    "review_status": "REVIEWED",
    "url": "https://pkg.go.dev/vuln/GO-2026-6453"
}
References

Affected packages

Go / github.com/xuri/excelize/v2

Package

Name
github.com/xuri/excelize/v2
View open source insights on deps.dev
Purl
pkg:golang/github.com/xuri/excelize/v2

Affected ranges

Type
SEMVER
Events
Introduced
0 Unknown introduced version / All previous versions are affected
Fixed
2.11.0

Ecosystem specific

{
    "imports": [
        {
            "path": "github.com/xuri/excelize/v2",
            "symbols": [
                "File.GetRows",
                "Rows.Close",
                "Rows.Next"
            ]
        }
    ]
}

Database specific

source
"https://vuln.go.dev/ID/GO-2026-6453.json"