CVE-2026-59161
Excelize: Streaming GetRows row-bound bypass causes attacker-controlled allocation
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.7
Excelize: Streaming GetRows row-bound bypass causes attacker-controlled allocation
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.
- Record
CVE-2026-59161- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
EUVDEUVD-2026-42936
8.7
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.
- Record
EUVD-2026-42936- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-q5j5-6p94-4gwc
8.7
Excelize: Streaming GetRows row-bound bypass causes attacker-controlled allocation
Streaming GetRows row-bound bypass causes attacker-controlled allocation
Summary
Excelize's prior row-bound fix for GHSA-h69g / CVE-2026-54063 protects the checked worksheet parser, but the streaming worksheet reader used by Rows and GetRows does not enforce the same TotalRows bound on the row r attribute. A small XLSX file can set a row number above Excelize's maximum row (1048576) and omit the cell coordinate. GetRows then appends empty rows up to the attacker-controlled row index and returns success.
This was reproduced on the current default branch commit 1213a8bd7c5ab360554603ac5c995ccaf6eb4314 and the latest release tag v2.10.1 (5ad5ab3af0054c55bdce09f1530085600e9f2e45).
Affected package
- Package:
github.com/xuri/excelize/v2 - Tested affected versions: current default branch at
1213a8bd7c5ab360554603ac5c995ccaf6eb4314, and releasev2.10.1 - Fixed version: none known at the time of this report
Impact
An attacker who can provide an XLSX file to an application that calls GetRows can cause memory and CPU usage to scale with an attacker-controlled row number, even though the file itself is tiny. This is an availability issue and appears to be an incomplete coverage variant of the GHSA-h69g row-index allocation class.
In the conservative PoC, row r="2000000" returned a [][]string with length 2,000,000 and allocated about 46 MB. Larger row numbers scale the allocation further.
Root cause
The checked parser path validates row numbers:
excelize.go:checkRowNum(r int)rejects negative rows and rows greater thanTotalRows.excelize.go:checkSheet()callscheckRowNum(r.R)before allocating sheet rows.workSheetReader()invokescheckSheet()/checkRow()before returning a cached worksheet.
The streaming path does not use that checked parser:
rows.go:Rows(sheet)opens an XML decoder directly.Rows.Next()accepts the rowrattribute and assigns it to the iterator's current row without applyingcheckRowNum().Rows.Columns()also assigns rowrto the iterator state without applyingcheckRowNum().GetRows()appends empty row slices for the gap between the previous row and the current row.
Because a cell without an r coordinate can still contain a value, the worksheet can avoid cell-coordinate row validation while still causing GetRows() to materialize rows up to the out-of-range row number.
Minimal worksheet payload
<?xml version="1.0" encoding="UTF-8"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<sheetData>
<row r="2000000"><c t="s"><v>0</v></c></row>
</sheetData>
</worksheet>
The workbook also contains a normal sharedStrings.xml with one string (ok).
Reproduction
A minimal Go harness creates the XLSX in memory and calls GetRows("Sheet1"):
rows, err := f.GetRows("Sheet1")
fmt.Println("rows_len:", len(rows))
if len(rows) > 0 {
fmt.Println("last_row:", rows[len(rows)-1])
}
fmt.Printf("returned error: %T %v\n", err, err)
Observed output on current default branch commit 1213a8bd7c5ab360554603ac5c995ccaf6eb4314:
== streaming GetRows row r=2000000 cell without r ==
rows_len: 2000000
last_row: [ok]
returned error: <nil> <nil>
elapsed=21ms alloc_delta=46MB
Observed output on latest release tag v2.10.1:
== streaming GetRows row r=2000000 cell without r ==
rows_len: 2000000
last_row: [ok]
returned error: <nil> <nil>
elapsed=14ms alloc_delta=46MB
A control using the checked parser with row r="1048577" and c r="A1048577" correctly returns row number exceeds maximum limit, confirming this report is about inconsistent enforcement in the streaming path rather than a missing global constant.
Expected behavior
Rows / GetRows should reject row numbers greater than TotalRows with the same error behavior as the checked parser path.
Suggested remediation
- Apply the same row-bound validation in the…
- Record
GHSA-q5j5-6p94-4gwc- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
NVD
8.7
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.
- Record
CVE-2026-59161- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X - CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
OSV
8.7
Excelize: Streaming GetRows row-bound bypass causes attacker-controlled allocation
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.
- Record
CVE-2026-59161- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
OSVGHSA-q5j5-6p94-4gwc
8.7
Excelize: Streaming GetRows row-bound bypass causes attacker-controlled allocation
Streaming GetRows row-bound bypass causes attacker-controlled allocation
Summary
Excelize's prior row-bound fix for GHSA-h69g / CVE-2026-54063 protects the checked worksheet parser, but the streaming worksheet reader used by Rows and GetRows does not enforce the same TotalRows bound on the row r attribute. A small XLSX file can set a row number above Excelize's maximum row (1048576) and omit the cell coordinate. GetRows then appends empty rows up to the attacker-controlled row index and returns success.
This was reproduced on the current default branch commit 1213a8bd7c5ab360554603ac5c995ccaf6eb4314 and the latest release tag v2.10.1 (5ad5ab3af0054c55bdce09f1530085600e9f2e45).
Affected package
- Package:
github.com/xuri/excelize/v2 - Tested affected versions: current default branch at
1213a8bd7c5ab360554603ac5c995ccaf6eb4314, and releasev2.10.1 - Fixed version: none known at the time of this report
Impact
An attacker who can provide an XLSX file to an application that calls GetRows can cause memory and CPU usage to scale with an attacker-controlled row number, even though the file itself is tiny. This is an availability issue and appears to be an incomplete coverage variant of the GHSA-h69g row-index allocation class.
In the conservative PoC, row r="2000000" returned a [][]string with length 2,000,000 and allocated about 46 MB. Larger row numbers scale the allocation further.
Root cause
The checked parser path validates row numbers:
excelize.go:checkRowNum(r int)rejects negative rows and rows greater thanTotalRows.excelize.go:checkSheet()callscheckRowNum(r.R)before allocating sheet rows.workSheetReader()invokescheckSheet()/checkRow()before returning a cached worksheet.
The streaming path does not use that checked parser:
rows.go:Rows(sheet)opens an XML decoder directly.Rows.Next()accepts the rowrattribute and assigns it to the iterator's current row without applyingcheckRowNum().Rows.Columns()also assigns rowrto the iterator state without applyingcheckRowNum().GetRows()appends empty row slices for the gap between the previous row and the current row.
Because a cell without an r coordinate can still contain a value, the worksheet can avoid cell-coordinate row validation while still causing GetRows() to materialize rows up to the out-of-range row number.
Minimal worksheet payload
<?xml version="1.0" encoding="UTF-8"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<sheetData>
<row r="2000000"><c t="s"><v>0</v></c></row>
</sheetData>
</worksheet>
The workbook also contains a normal sharedStrings.xml with one string (ok).
Reproduction
A minimal Go harness creates the XLSX in memory and calls GetRows("Sheet1"):
rows, err := f.GetRows("Sheet1")
fmt.Println("rows_len:", len(rows))
if len(rows) > 0 {
fmt.Println("last_row:", rows[len(rows)-1])
}
fmt.Printf("returned error: %T %v\n", err, err)
Observed output on current default branch commit 1213a8bd7c5ab360554603ac5c995ccaf6eb4314:
== streaming GetRows row r=2000000 cell without r ==
rows_len: 2000000
last_row: [ok]
returned error: <nil> <nil>
elapsed=21ms alloc_delta=46MB
Observed output on latest release tag v2.10.1:
== streaming GetRows row r=2000000 cell without r ==
rows_len: 2000000
last_row: [ok]
returned error: <nil> <nil>
elapsed=14ms alloc_delta=46MB
A control using the checked parser with row r="1048577" and c r="A1048577" correctly returns row number exceeds maximum limit, confirming this report is about inconsistent enforcement in the streaming path rather than a missing global constant.
Expected behavior
Rows / GetRows should reject row numbers greater than TotalRows with the same error behavior as the checked parser path.
Suggested remediation
- Apply the same row-bound validation in the…
- Record
GHSA-q5j5-6p94-4gwc- CVSS 4.0
- 8.7 High
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N - Weakness
- CWE-400, CWE-770
- Updated
- 2026-11-02
Show 4 moreShow less
OSVGO-2026-6453 No score
Unbounded memory allocation via streaming row reader in github.com/xuri/excelize
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.
- Record
GO-2026-6453- Updated
- 2026-11-02
OSVopenSUSE-SU-2026:21897-1 No score
Security update for govulncheck-vulndb
This update for govulncheck-vulndb fixes the following issues:
Changes for govulncheck-vulndb:
- Update to version 0.0.20260916T180043 2026-09-16T18:00:43Z (jsc#PED-11136).
Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2026-6348 CVE-2026-84304 GHSA-vp52-pcj8-j9qc
- GO-2026-6356 CVE-2026-65959 GHSA-mhc4-g3wh-cw7m
- GO-2026-6366 CVE-2026-61625 GHSA-8q3c-rjr9-xxrp
- GO-2026-6372 CVE-2026-79921 GHSA-6c5v-hqjr-5xxp
- GO-2026-6441 CVE-2026-84303 GHSA-qc2q-p7wx-3px3
- GO-2026-6443 CVE-2026-84445 GHSA-2v4p-qf9q-27wj
- GO-2026-6444 CVE-2026-53495 GHSA-7jxh-36q5-gcqv
- GO-2026-6445 CVE-2025-58363 GHSA-c23q-fw86-9h5x
- GO-2026-6446 CVE-2025-24978 GHSA-g8rh-fjm6-h2h9
- GO-2026-6447 CVE-2025-24979 GHSA-pqqc-8v73-9gg2
- GO-2026-6448 CVE-2026-59185 GHSA-cp3j-m783-3ph5
- GO-2026-6449 GHSA-hxjg-93wc-h8p8
- GO-2026-6450 CVE-2026-59172 GHSA-m835-3cm9-rggg
- GO-2026-6451 CVE-2026-59157 GHSA-v25g-mvwr-f5fp
- GO-2026-6452 CVE-2026-59162 GHSA-fx5j-qcqg-grpf
- GO-2026-6453 CVE-2026-59161 GHSA-q5j5-6p94-4gwc
- GO-2026-6454 CVE-2026-88012 GHSA-7ghq-v6jf-g56c
- GO-2026-6455 CVE-2026-88011 GHSA-rf44-j88r-hh8c
- GO-2026-6456 CVE-2026-88045 GHSA-2p48-j3qc-rx9f
- GO-2026-6457 CVE-2026-88046 GHSA-38xv-hf3p-h7mq
- GO-2026-6458 CVE-2026-88017 GHSA-c476-6w5q-jw77
- GO-2026-6459 CVE-2026-88016 GHSA-f8g7-2xjc-7mfh
- GO-2026-6460 CVE-2026-88044 GHSA-p569-5gjg-9cmj
- GO-2026-6461 CVE-2026-88015 GHSA-p6m2-r3w9-mpxw
- GO-2026-6462 CVE-2026-88018 GHSA-xwwr-4h3p-r22c
- GO-2026-6463 CVE-2026-88013 GHSA-486v-q2wf-fp2r
- GO-2026-6464 CVE-2026-88014 GHSA-66hp-wgxq-6f5q
- GO-2026-6465 CVE-2026-88009 GHSA-f52w-8j3h-j724
- GO-2026-6466 CVE-2026-88007 GHSA-qqjf-53cj-pwvv
- GO-2026-6467 CVE-2026-88004 GHSA-v67p-phpq-fc8x
- GO-2026-6468 CVE-2026-88008 GHSA-w4v4-9rw7-5326
- GO-2026-6469 CVE-2026-56665 GHSA-v77h-2w3m-94hx
- GO-2026-6470 CVE-2026-56666 GHSA-992q-9gwp-7r79
- GO-2026-6473 CVE-2026-76081 GHSA-v859-c572-qh5p
- GO-2026-6474 CVE-2026-56668 GHSA-vrh8-c9cm-wh8v
- Update to version 0.0.20260910T144842 2026-09-10T14:48:42Z.
- GO-2026-6302 GHSA-mf7q-r4rv-jv94
- GO-2026-6343 CVE-2026-25782 GHSA-qm72-8prh-g92x
- GO-2026-6344 CVE-2026-26292 GHSA-rc56-rj3f-xggf
- GO-2026-6345 CVE-2026-27779 GHSA-v8f2-2ghq-9whv
- GO-2026-6346 CVE-2026-27780 GHSA-vhq7-fwwh-7hjf
- GO-2026-6347 CVE-2026-27660 GHSA-x92v-f5gc-r34v
- GO-2026-6350 CVE-2026-59832 GHSA-275h-v5h9-vr82
- GO-2026-6351 CVE-2026-72920 GHSA-2v6v-25fm-p4fg
- GO-2026-6353 CVE-2026-59834 GHSA-h89q-4j2h-7h88
- GO-2026-6357 CVE-2026-73667 GHSA-2mw5-23gm-pccq
- GO-2026-6358 CVE-2026-73841 GHSA-52gf-6rpq-fgmx
- GO-2026-6359 CVE-2026-67446 GHSA-75mr-qw9x-3r39
- GO-2026-6360 CVE-2026-73840 GHSA-c5f6-2rm9-2w8g
- GO-2026-6361 CVE-2026-72921 GHSA-gv5w-hfx8-8cwq
- GO-2026-6362 CVE-2026-73843 GHSA-qh9r-j7rp-4x2m
- GO-2026-6363 CVE-2026-67445 GHSA-w878-pj84-3j5v
- GO-2026-6364 GHSA-99rq-75j6-5j9f
- GO-2026-6365 GHSA-gw25-m53r-qh88
- GO-2026-6367 CVE-2026-56743 GHSA-fm8w-2m5w-9j7r
- GO-2026-6368 CVE-2026-75602 GHSA-h6cj-26g5-67fv
- GO-2026-6369 CVE-2026-73232 GHSA-jcvh-xf52-2cwm
- GO-2026-6370 CVE-2026-73292 GHSA-8cj9-r88m-8945
- GO-2026-6371 CVE-2026-73293 GHSA-cxvf-gvfq-36w2
- GO-2026-6373 CVE-2026-69086 GHSA-7hm9-v7vf-7g4w
- GO-2026-6374 CVE-2026-69083 GHSA-fph3-ghq9-vw66
- GO-2026-6377 CVE-2026-69084 GHSA-vh22-h7hf-www7
- GO-2026-6379 CVE-2026-68586 GHSA-36v8-mpjm-8j5r
- GO-2026-6381 CVE-2026-68587 GHSA-69mh-gvh4-8gp7
- GO-2026-6382 CVE-2026-68584 GHSA-7j72-f6wg-cxw6
- GO-2026-6384 CVE-2026-68585 GHSA-pm3w-vxp9-ccwc
- GO-2026-6386 CVE-2026-72809 GHSA-3mp7-4rh5-jrv9
- GO-2026-6387 CVE-2026-72805 GHSA-67x2-mq63-v9vm
- GO-2026-6388 CVE-2026-72806 GHSA-6mcf-g667-w3qv
- GO-2026-6392 CVE-2026-72801 GHSA-8x84-r2ff-h8pq
- GO-2026-6395 CVE-2026-72800 GHSA-5fhr-f75j-8wr9
- GO-2026-6398 CVE-2026-72802 GHSA-jv8v-xq2h-657v
- GO-2026-6400 CVE-2026-72810 GHSA-mw8r-mw84-88v2
- GO-2026-6402 CVE-2026-72811 GHSA-q2vg-7qgx-x5fc
- GO-2026-6404 CVE-2026-72803…
- Record
openSUSE-SU-2026:21897-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23855-1 No score
Security update for govulncheck-vulndb
This update for govulncheck-vulndb fixes the following issues:
Changes for govulncheck-vulndb:
- Update to version 0.0.20260916T180043 2026-09-16T18:00:43Z (jsc#PED-11136).
Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2026-6348 CVE-2026-84304 GHSA-vp52-pcj8-j9qc
- GO-2026-6356 CVE-2026-65959 GHSA-mhc4-g3wh-cw7m
- GO-2026-6366 CVE-2026-61625 GHSA-8q3c-rjr9-xxrp
- GO-2026-6372 CVE-2026-79921 GHSA-6c5v-hqjr-5xxp
- GO-2026-6441 CVE-2026-84303 GHSA-qc2q-p7wx-3px3
- GO-2026-6443 CVE-2026-84445 GHSA-2v4p-qf9q-27wj
- GO-2026-6444 CVE-2026-53495 GHSA-7jxh-36q5-gcqv
- GO-2026-6445 CVE-2025-58363 GHSA-c23q-fw86-9h5x
- GO-2026-6446 CVE-2025-24978 GHSA-g8rh-fjm6-h2h9
- GO-2026-6447 CVE-2025-24979 GHSA-pqqc-8v73-9gg2
- GO-2026-6448 CVE-2026-59185 GHSA-cp3j-m783-3ph5
- GO-2026-6449 GHSA-hxjg-93wc-h8p8
- GO-2026-6450 CVE-2026-59172 GHSA-m835-3cm9-rggg
- GO-2026-6451 CVE-2026-59157 GHSA-v25g-mvwr-f5fp
- GO-2026-6452 CVE-2026-59162 GHSA-fx5j-qcqg-grpf
- GO-2026-6453 CVE-2026-59161 GHSA-q5j5-6p94-4gwc
- GO-2026-6454 CVE-2026-88012 GHSA-7ghq-v6jf-g56c
- GO-2026-6455 CVE-2026-88011 GHSA-rf44-j88r-hh8c
- GO-2026-6456 CVE-2026-88045 GHSA-2p48-j3qc-rx9f
- GO-2026-6457 CVE-2026-88046 GHSA-38xv-hf3p-h7mq
- GO-2026-6458 CVE-2026-88017 GHSA-c476-6w5q-jw77
- GO-2026-6459 CVE-2026-88016 GHSA-f8g7-2xjc-7mfh
- GO-2026-6460 CVE-2026-88044 GHSA-p569-5gjg-9cmj
- GO-2026-6461 CVE-2026-88015 GHSA-p6m2-r3w9-mpxw
- GO-2026-6462 CVE-2026-88018 GHSA-xwwr-4h3p-r22c
- GO-2026-6463 CVE-2026-88013 GHSA-486v-q2wf-fp2r
- GO-2026-6464 CVE-2026-88014 GHSA-66hp-wgxq-6f5q
- GO-2026-6465 CVE-2026-88009 GHSA-f52w-8j3h-j724
- GO-2026-6466 CVE-2026-88007 GHSA-qqjf-53cj-pwvv
- GO-2026-6467 CVE-2026-88004 GHSA-v67p-phpq-fc8x
- GO-2026-6468 CVE-2026-88008 GHSA-w4v4-9rw7-5326
- GO-2026-6469 CVE-2026-56665 GHSA-v77h-2w3m-94hx
- GO-2026-6470 CVE-2026-56666 GHSA-992q-9gwp-7r79
- GO-2026-6473 CVE-2026-76081 GHSA-v859-c572-qh5p
- GO-2026-6474 CVE-2026-56668 GHSA-vrh8-c9cm-wh8v
- Update to version 0.0.20260910T144842 2026-09-10T14:48:42Z.
- GO-2026-6302 GHSA-mf7q-r4rv-jv94
- GO-2026-6343 CVE-2026-25782 GHSA-qm72-8prh-g92x
- GO-2026-6344 CVE-2026-26292 GHSA-rc56-rj3f-xggf
- GO-2026-6345 CVE-2026-27779 GHSA-v8f2-2ghq-9whv
- GO-2026-6346 CVE-2026-27780 GHSA-vhq7-fwwh-7hjf
- GO-2026-6347 CVE-2026-27660 GHSA-x92v-f5gc-r34v
- GO-2026-6350 CVE-2026-59832 GHSA-275h-v5h9-vr82
- GO-2026-6351 CVE-2026-72920 GHSA-2v6v-25fm-p4fg
- GO-2026-6353 CVE-2026-59834 GHSA-h89q-4j2h-7h88
- GO-2026-6357 CVE-2026-73667 GHSA-2mw5-23gm-pccq
- GO-2026-6358 CVE-2026-73841 GHSA-52gf-6rpq-fgmx
- GO-2026-6359 CVE-2026-67446 GHSA-75mr-qw9x-3r39
- GO-2026-6360 CVE-2026-73840 GHSA-c5f6-2rm9-2w8g
- GO-2026-6361 CVE-2026-72921 GHSA-gv5w-hfx8-8cwq
- GO-2026-6362 CVE-2026-73843 GHSA-qh9r-j7rp-4x2m
- GO-2026-6363 CVE-2026-67445 GHSA-w878-pj84-3j5v
- GO-2026-6364 GHSA-99rq-75j6-5j9f
- GO-2026-6365 GHSA-gw25-m53r-qh88
- GO-2026-6367 CVE-2026-56743 GHSA-fm8w-2m5w-9j7r
- GO-2026-6368 CVE-2026-75602 GHSA-h6cj-26g5-67fv
- GO-2026-6369 CVE-2026-73232 GHSA-jcvh-xf52-2cwm
- GO-2026-6370 CVE-2026-73292 GHSA-8cj9-r88m-8945
- GO-2026-6371 CVE-2026-73293 GHSA-cxvf-gvfq-36w2
- GO-2026-6373 CVE-2026-69086 GHSA-7hm9-v7vf-7g4w
- GO-2026-6374 CVE-2026-69083 GHSA-fph3-ghq9-vw66
- GO-2026-6377 CVE-2026-69084 GHSA-vh22-h7hf-www7
- GO-2026-6379 CVE-2026-68586 GHSA-36v8-mpjm-8j5r
- GO-2026-6381 CVE-2026-68587 GHSA-69mh-gvh4-8gp7
- GO-2026-6382 CVE-2026-68584 GHSA-7j72-f6wg-cxw6
- GO-2026-6384 CVE-2026-68585 GHSA-pm3w-vxp9-ccwc
- GO-2026-6386 CVE-2026-72809 GHSA-3mp7-4rh5-jrv9
- GO-2026-6387 CVE-2026-72805 GHSA-67x2-mq63-v9vm
- GO-2026-6388 CVE-2026-72806 GHSA-6mcf-g667-w3qv
- GO-2026-6392 CVE-2026-72801 GHSA-8x84-r2ff-h8pq
- GO-2026-6395 CVE-2026-72800 GHSA-5fhr-f75j-8wr9
- GO-2026-6398 CVE-2026-72802 GHSA-jv8v-xq2h-657v
- GO-2026-6400 CVE-2026-72810 GHSA-mw8r-mw84-88v2
- GO-2026-6402 CVE-2026-72811 GHSA-q2vg-7qgx-x5fc
- GO-2026-6404 CVE-2026-72803…
- Record
SUSE-SU-2026:23855-1- Updated
- 2026-11-02
OSVSUSE-SU-2026:23863-1 No score
Security update for govulncheck-vulndb
This update for govulncheck-vulndb fixes the following issues:
Changes for govulncheck-vulndb:
- Update to version 0.0.20260916T180043 2026-09-16T18:00:43Z (jsc#PED-11136).
Go CVE Numbering Authority IDs added or updated with aliases:
- GO-2026-6348 CVE-2026-84304 GHSA-vp52-pcj8-j9qc
- GO-2026-6356 CVE-2026-65959 GHSA-mhc4-g3wh-cw7m
- GO-2026-6366 CVE-2026-61625 GHSA-8q3c-rjr9-xxrp
- GO-2026-6372 CVE-2026-79921 GHSA-6c5v-hqjr-5xxp
- GO-2026-6441 CVE-2026-84303 GHSA-qc2q-p7wx-3px3
- GO-2026-6443 CVE-2026-84445 GHSA-2v4p-qf9q-27wj
- GO-2026-6444 CVE-2026-53495 GHSA-7jxh-36q5-gcqv
- GO-2026-6445 CVE-2025-58363 GHSA-c23q-fw86-9h5x
- GO-2026-6446 CVE-2025-24978 GHSA-g8rh-fjm6-h2h9
- GO-2026-6447 CVE-2025-24979 GHSA-pqqc-8v73-9gg2
- GO-2026-6448 CVE-2026-59185 GHSA-cp3j-m783-3ph5
- GO-2026-6449 GHSA-hxjg-93wc-h8p8
- GO-2026-6450 CVE-2026-59172 GHSA-m835-3cm9-rggg
- GO-2026-6451 CVE-2026-59157 GHSA-v25g-mvwr-f5fp
- GO-2026-6452 CVE-2026-59162 GHSA-fx5j-qcqg-grpf
- GO-2026-6453 CVE-2026-59161 GHSA-q5j5-6p94-4gwc
- GO-2026-6454 CVE-2026-88012 GHSA-7ghq-v6jf-g56c
- GO-2026-6455 CVE-2026-88011 GHSA-rf44-j88r-hh8c
- GO-2026-6456 CVE-2026-88045 GHSA-2p48-j3qc-rx9f
- GO-2026-6457 CVE-2026-88046 GHSA-38xv-hf3p-h7mq
- GO-2026-6458 CVE-2026-88017 GHSA-c476-6w5q-jw77
- GO-2026-6459 CVE-2026-88016 GHSA-f8g7-2xjc-7mfh
- GO-2026-6460 CVE-2026-88044 GHSA-p569-5gjg-9cmj
- GO-2026-6461 CVE-2026-88015 GHSA-p6m2-r3w9-mpxw
- GO-2026-6462 CVE-2026-88018 GHSA-xwwr-4h3p-r22c
- GO-2026-6463 CVE-2026-88013 GHSA-486v-q2wf-fp2r
- GO-2026-6464 CVE-2026-88014 GHSA-66hp-wgxq-6f5q
- GO-2026-6465 CVE-2026-88009 GHSA-f52w-8j3h-j724
- GO-2026-6466 CVE-2026-88007 GHSA-qqjf-53cj-pwvv
- GO-2026-6467 CVE-2026-88004 GHSA-v67p-phpq-fc8x
- GO-2026-6468 CVE-2026-88008 GHSA-w4v4-9rw7-5326
- GO-2026-6469 CVE-2026-56665 GHSA-v77h-2w3m-94hx
- GO-2026-6470 CVE-2026-56666 GHSA-992q-9gwp-7r79
- GO-2026-6473 CVE-2026-76081 GHSA-v859-c572-qh5p
- GO-2026-6474 CVE-2026-56668 GHSA-vrh8-c9cm-wh8v
- Update to version 0.0.20260910T144842 2026-09-10T14:48:42Z.
- GO-2026-6302 GHSA-mf7q-r4rv-jv94
- GO-2026-6343 CVE-2026-25782 GHSA-qm72-8prh-g92x
- GO-2026-6344 CVE-2026-26292 GHSA-rc56-rj3f-xggf
- GO-2026-6345 CVE-2026-27779 GHSA-v8f2-2ghq-9whv
- GO-2026-6346 CVE-2026-27780 GHSA-vhq7-fwwh-7hjf
- GO-2026-6347 CVE-2026-27660 GHSA-x92v-f5gc-r34v
- GO-2026-6350 CVE-2026-59832 GHSA-275h-v5h9-vr82
- GO-2026-6351 CVE-2026-72920 GHSA-2v6v-25fm-p4fg
- GO-2026-6353 CVE-2026-59834 GHSA-h89q-4j2h-7h88
- GO-2026-6357 CVE-2026-73667 GHSA-2mw5-23gm-pccq
- GO-2026-6358 CVE-2026-73841 GHSA-52gf-6rpq-fgmx
- GO-2026-6359 CVE-2026-67446 GHSA-75mr-qw9x-3r39
- GO-2026-6360 CVE-2026-73840 GHSA-c5f6-2rm9-2w8g
- GO-2026-6361 CVE-2026-72921 GHSA-gv5w-hfx8-8cwq
- GO-2026-6362 CVE-2026-73843 GHSA-qh9r-j7rp-4x2m
- GO-2026-6363 CVE-2026-67445 GHSA-w878-pj84-3j5v
- GO-2026-6364 GHSA-99rq-75j6-5j9f
- GO-2026-6365 GHSA-gw25-m53r-qh88
- GO-2026-6367 CVE-2026-56743 GHSA-fm8w-2m5w-9j7r
- GO-2026-6368 CVE-2026-75602 GHSA-h6cj-26g5-67fv
- GO-2026-6369 CVE-2026-73232 GHSA-jcvh-xf52-2cwm
- GO-2026-6370 CVE-2026-73292 GHSA-8cj9-r88m-8945
- GO-2026-6371 CVE-2026-73293 GHSA-cxvf-gvfq-36w2
- GO-2026-6373 CVE-2026-69086 GHSA-7hm9-v7vf-7g4w
- GO-2026-6374 CVE-2026-69083 GHSA-fph3-ghq9-vw66
- GO-2026-6377 CVE-2026-69084 GHSA-vh22-h7hf-www7
- GO-2026-6379 CVE-2026-68586 GHSA-36v8-mpjm-8j5r
- GO-2026-6381 CVE-2026-68587 GHSA-69mh-gvh4-8gp7
- GO-2026-6382 CVE-2026-68584 GHSA-7j72-f6wg-cxw6
- GO-2026-6384 CVE-2026-68585 GHSA-pm3w-vxp9-ccwc
- GO-2026-6386 CVE-2026-72809 GHSA-3mp7-4rh5-jrv9
- GO-2026-6387 CVE-2026-72805 GHSA-67x2-mq63-v9vm
- GO-2026-6388 CVE-2026-72806 GHSA-6mcf-g667-w3qv
- GO-2026-6392 CVE-2026-72801 GHSA-8x84-r2ff-h8pq
- GO-2026-6395 CVE-2026-72800 GHSA-5fhr-f75j-8wr9
- GO-2026-6398 CVE-2026-72802 GHSA-jv8v-xq2h-657v
- GO-2026-6400 CVE-2026-72810 GHSA-mw8r-mw84-88v2
- GO-2026-6402 CVE-2026-72811 GHSA-q2vg-7qgx-x5fc
- GO-2026-6404 CVE-2026-72803…
- Record
SUSE-SU-2026:23863-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
github.com/xuri/excelize/v2Go |
before 2.11.0 | 2.11.0 |
github.com/xuri/excelizeGo |
through 1.4.0 | None known |
govulncheck-vulndbSUSE:Linux Enterprise Server 16.0 |
before 0.0.20260916T180043-160000.1.1 | 0.0.20260916T180043-160000.1.1 |
govulncheck-vulndbSUSE:Linux Enterprise Server for SAP applications 16.0 |
before 0.0.20260916T180043-160000.1.1 | 0.0.20260916T180043-160000.1.1 |
govulncheck-vulndbopenSUSE:Leap 16.0 |
before 0.0.20260916T180043-160000.1.1 | 0.0.20260916T180043-160000.1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-59161 is a high vulnerability (CVSS 8.7) in Excelize, published July 10, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.66%, the 51st percentile. Fixed in github.com/xuri/excelize/v2 2.11.0.
References
github.com/qax-os/excelize/security/advisories/GHSA-q5j5-6p94-4gwc
github.com/qax-os/excelize/pull/2331
github.com/qax-os/excelize/commit/93f0b3caed37f21ef5079e3259c6c21dcfe68453
github.com/qax-os/excelize/releases/tag/v2.11.0
nvd.nist.gov/vuln/detail/CVE-2026-59161
github.com/advisories/GHSA-q5j5-6p94-4gwc
Show 95 moreShow less
github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59161.json
github.com/qax-os/excelize
suse.com/support/update/announcement/2026/suse-su-202623855-1
suse.com/security/cve/CVE-2025-24978
suse.com/security/cve/CVE-2025-24979
suse.com/security/cve/CVE-2025-58363
suse.com/security/cve/CVE-2026-11720
suse.com/security/cve/CVE-2026-25782
suse.com/security/cve/CVE-2026-26292
suse.com/security/cve/CVE-2026-27660
suse.com/security/cve/CVE-2026-27779
suse.com/security/cve/CVE-2026-27780
suse.com/security/cve/CVE-2026-53495
suse.com/security/cve/CVE-2026-56665
suse.com/security/cve/CVE-2026-56666
suse.com/security/cve/CVE-2026-56668
suse.com/security/cve/CVE-2026-56743
suse.com/security/cve/CVE-2026-59157
suse.com/security/cve/CVE-2026-59161
suse.com/security/cve/CVE-2026-59162
suse.com/security/cve/CVE-2026-59172
suse.com/security/cve/CVE-2026-59185
suse.com/security/cve/CVE-2026-59832
suse.com/security/cve/CVE-2026-59834
suse.com/security/cve/CVE-2026-60004
suse.com/security/cve/CVE-2026-61625
suse.com/security/cve/CVE-2026-65959
suse.com/security/cve/CVE-2026-67445
suse.com/security/cve/CVE-2026-67446
suse.com/security/cve/CVE-2026-68584
suse.com/security/cve/CVE-2026-68585
suse.com/security/cve/CVE-2026-68586
suse.com/security/cve/CVE-2026-68587
suse.com/security/cve/CVE-2026-69083
suse.com/security/cve/CVE-2026-69084
suse.com/security/cve/CVE-2026-69086
suse.com/security/cve/CVE-2026-71493
suse.com/security/cve/CVE-2026-71494
suse.com/security/cve/CVE-2026-72789
suse.com/security/cve/CVE-2026-72790
suse.com/security/cve/CVE-2026-72792
suse.com/security/cve/CVE-2026-72793
suse.com/security/cve/CVE-2026-72794
suse.com/security/cve/CVE-2026-72795
suse.com/security/cve/CVE-2026-72796
suse.com/security/cve/CVE-2026-72797
suse.com/security/cve/CVE-2026-72798
suse.com/security/cve/CVE-2026-72799
suse.com/security/cve/CVE-2026-72800
suse.com/security/cve/CVE-2026-72801
suse.com/security/cve/CVE-2026-72802
suse.com/security/cve/CVE-2026-72803
suse.com/security/cve/CVE-2026-72804
suse.com/security/cve/CVE-2026-72805
suse.com/security/cve/CVE-2026-72806
suse.com/security/cve/CVE-2026-72807
suse.com/security/cve/CVE-2026-72808
suse.com/security/cve/CVE-2026-72809
suse.com/security/cve/CVE-2026-72810
suse.com/security/cve/CVE-2026-72811
suse.com/security/cve/CVE-2026-72812
suse.com/security/cve/CVE-2026-72920
suse.com/security/cve/CVE-2026-72921
suse.com/security/cve/CVE-2026-73087
suse.com/security/cve/CVE-2026-73232
suse.com/security/cve/CVE-2026-73292
suse.com/security/cve/CVE-2026-73293
suse.com/security/cve/CVE-2026-73294
suse.com/security/cve/CVE-2026-73667
suse.com/security/cve/CVE-2026-73840
suse.com/security/cve/CVE-2026-73841
suse.com/security/cve/CVE-2026-73842
suse.com/security/cve/CVE-2026-73843
suse.com/security/cve/CVE-2026-75602
suse.com/security/cve/CVE-2026-76081
suse.com/security/cve/CVE-2026-79921
suse.com/security/cve/CVE-2026-84303
suse.com/security/cve/CVE-2026-84304
suse.com/security/cve/CVE-2026-84445
suse.com/security/cve/CVE-2026-88004
suse.com/security/cve/CVE-2026-88007
suse.com/security/cve/CVE-2026-88008
suse.com/security/cve/CVE-2026-88009
suse.com/security/cve/CVE-2026-88011
suse.com/security/cve/CVE-2026-88012
suse.com/security/cve/CVE-2026-88013
suse.com/security/cve/CVE-2026-88014
suse.com/security/cve/CVE-2026-88015
suse.com/security/cve/CVE-2026-88016
suse.com/security/cve/CVE-2026-88017
suse.com/security/cve/CVE-2026-88018
suse.com/security/cve/CVE-2026-88044
suse.com/security/cve/CVE-2026-88045
suse.com/security/cve/CVE-2026-88046
suse.com/support/update/announcement/2026/suse-su-202623863-1
Left out here: the rest of 5 source descriptions. The JSON record has them.