CVE-2026-107217: excelize Improper Validation of Array Index
Vulnerability summary
CVE-2026-107217 is a high (CVSS 7.5) Improper Validation of Array Index vulnerability in excelize. EPSS estimates a 0.34% chance of exploitation in the next 30 days, higher than 25.7% of scored vulnerabilities. 1 public exploit is recorded.
Timeline
- 07-10-2026PublishedVulnerability first disclosed.
- 08-10-2026Last modifiedVulnerability information updated.
Description
Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.0.0 to 2.11.0 in github.com/xuri/excelize/v2 and from 1.1.0 to 1.4.1 in github.com/xuri/excelize, ColumnNameToNumber accumulates a bijective base-26 value in int64 without detecting overflow, allowing an invalid long column name to wrap to zero with no error. ColumnNameToNumber accepts the overflowing name VGWQHXLSDVIKWV, after which checkSheetR0 and xlsxWorksheet.checkRow use the wrapped column value as an index. When a crafted worksheet uses an overflowing column name in a row normalized by checkSheetR0 or checkRow, the wrapped zero column becomes a negative slice index during worksheet normalization, allowing an attacker to panic and terminate the calling process. No fixed version is available as of this review.
CVSS metrics
3 scores · 3 sources · 1 version- OSV · GoEcosystem advisory · calculated7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
- NVDNIST7.5HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
EPSS trend
Probability
0.34%
Chance of exploitation in the next 30 days
Percentile
26%
Versus all other CVEs
30-day change
Change unavailable
Change unavailable
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
1 foundExcelize
Maturity: poc
Weaknesses
CWE · root cause- CWE-129Improper Validation of Array IndexThe product uses untrusted input when calculating or using an array index, but the product does not validate or incorrectly validates the index to ensure the index references a valid position within the array.
- CWE-190Integer Overflow or WraparoundThe product performs a calculation that can produce an integer overflow or wraparound when the logic assumes that the resulting value will always be larger than the original value. This occurs when an integer value is incremented to a value that is too large to store in the associated representation. When this occurs, the value may become a very small or negative number.
Affected systems
Excelize1 product
- excelize≥ 1.1.0, ≤ 1.4.1 | ≥ 2.0.0, ≤ 2.11.0
Github.com/xuri1 product
- excelize≥ 1.1.0, ≤ 1.4.1
Github.com/xuri/excelize1 product
- v2≥ 2.0.0, < 2.11.1-0.20260910071107-696050fbf14e
Qax-os1 product
- excelize≥ 2.0.0, ≤ 2.11.0 | ≥ 1.1.0, ≤ 1.4.1
4 vendors · 4 products
References
4 links- github.com/qax-os/excelize/security/advisories/GHSA-c85p-xxjj-2r75X Refsource CONFIRMWEBExploitVendor Advisory
- github.com/qax-os/excelizePACKAGE