Description
Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. Prior to 2.11.0, Excelize parses shared-string cell values with strconv.Atoi and checks only the upper bound before indexing the shared string slice, allowing an XLSX file containing a shared-string cell with -1 to trigger sharedStrings[-1] and panic when read through GetCellValue or GetRows. This issue is fixed in version 2.11.0.
Published: 2026-07-10
Score: 6.9 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Excelize is a Go library that processes Microsoft Excel files. Prior to version 2.11.0 it converts the shared‑string identifier to an integer and verifies only the upper bound before accessing the shared‑string slice. If an attacker supplies an XLSX file containing a shared‑string cell with the value -1, the library will attempt to read sharedStrings[-1] and the Go runtime will panic. This panic terminates the host application, resulting in a denial‑of‑service condition for any service that uses GetCellValue or GetRows to read the malicious workbook. The flaw is a classic Bounds‑Check Bypass weakness, reflected in CWE‑248 and CWE‑755.

Affected Systems

Any Go application that imports qax-os Excelize before version 2.11.0 and processes XLSX files is vulnerable. Based on the description, it is inferred that this includes command‑line utilities, web services, or backend pipelines that call GetCellValue or GetRows on workbook data from untrusted sources.

Risk and Exploitability

With a CVSS score of 6.9 the vulnerability is considered medium severity. The EPSS score is less than 1%, indicating a very low likelihood of exploitation, and it is not listed in CISA’s KEV catalog. Based on the description, it is inferred that the attack vector requires the delivery of a crafted file to the target application. Once the malicious workbook is processed by GetCellValue or GetRows, the library panics and the entire application crashes, providing a relatively clean denial‑of‑service attack.

Generated by OpenCVE AI on August 3, 2026 at 04:01 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Excelize v2.11.0 or later, where the shared‑string index check is corrected.
  • Add input validation to ensure any shared‑string indices are non‑negative before accessing the slice, or use a wrapper that sanitizes indices.
  • Implement panic recovery or graceful error handling around calls to GetCellValue or GetRows so that a malformed workbook does not crash the entire application.

Generated by OpenCVE AI on August 3, 2026 at 04:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 13 Jul 2026 15:15:00 +0000

Type Values Removed Values Added
First Time appeared Qax-os
Qax-os excelize
Vendors & Products Qax-os
Qax-os excelize

Fri, 10 Jul 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 10 Jul 2026 16:30:00 +0000

Type Values Removed Values Added
Description Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. Prior to 2.11.0, Excelize parses shared-string cell values with strconv.Atoi and checks only the upper bound before indexing the shared string slice, allowing an XLSX file containing a shared-string cell with -1 to trigger sharedStrings[-1] and panic when read through GetCellValue or GetRows. This issue is fixed in version 2.11.0.
Title Excelize: Negative shared-string index causes panic in GetCellValue and GetRows
Weaknesses CWE-248
CWE-755
References
Metrics cvssV4_0

{'score': 6.9, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N'}


Subscriptions

Excelize Excelize
Qax-os Excelize
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-10T18:40:25.481Z

Reserved: 2026-07-02T16:50:27.887Z

Link: CVE-2026-59162

cve-icon Vulnrichment

Updated: 2026-07-10T18:40:15.197Z

cve-icon NVD

Status : Analyzed

Published: 2026-07-10T17:17:02.377

Modified: 2026-07-16T13:44:56.260

Link: CVE-2026-59162

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-03T04:15:03Z

Weaknesses
  • CWE-248

    Uncaught Exception

  • CWE-755

    Improper Handling of Exceptional Conditions