CyberRota Analysis
AI-GeneratedThe Excelize library in versions prior to 2.11.0 is vulnerable to denial-of-service attacks due to improper validation of XML attribute values in XLSX files, allowing an attacker to trigger excessive memory allocation or runtime panics. Services that process untrusted XLSX files and utilize the GetCellValue function are at risk, as no authentication is required to exploit this vulnerability. Organizations using affected versions should prioritize upgrading to version 2.11.0 to mitigate these risks.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. Prior to 2.11.0, the checkSheet() function in github.com/xuri/excelize/v2 uses an attacker-controlled <row r="N"> XML attribute value directly as the length argument to make([]xlsxRow, row) without validating it against the Excel row limit (TotalRows = 1,048,576). A specially crafted XLSX file can trigger two denial-of-service variants: (A) an out-of-memory process kill when r=2147483647 forces a ~16 GB allocation attempt, and (B) a runtime panic via out-of-bounds slice indexing when r=-1. Any service that opens attacker-supplied XLSX files and calls GetCellValue is affected. No authentication is required. This issue is fixed in version 2.11.0.
Related CVEs
Other vulnerabilities affecting the same vendor(s)