Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.9.0 to 2.11.0, GetSlicers checks for ExtLst but dereferences ws.Drawing without checking whether the independently optional drawing element exists. File.GetSlicers reads ws.Drawing.RID after seeing a worksheet extLst element even when the independently optional worksheet drawing element is absent. When a crafted worksheet contains an extLst element without a drawing element and the application calls GetSlicers, the nil ws.Drawing pointer is dereferenced while resolving the drawing relationship, allowing an attacker to panic and terminate an unprotected process. No fixed version is available as of this review.
Fix
Patch, vendor advisory and mitigation references on NVD 3
- https://github.com/qax-os/excelize/commit/8ffeb07ec9a350410f6922313f6b7e4f5cc79241 Patch
- https://github.com/qax-os/excelize/pull/2434 Issue Tracking, Patch
- https://github.com/qax-os/excelize/security/advisories/GHSA-r7x5-4969-99p7 Exploit, Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 8.7 · excelizeNVD modified 2026-10-13 14:24
Affected (CPE criteria) 1
cpe:2.3:a:excelize:excelize:*:*:*:*:*:go:*:*
References 3
- https://github.com/qax-os/excelize/commit/8ffeb07ec9a350410f6922313f6b7e4f5cc79241 Patch
- https://github.com/qax-os/excelize/pull/2434 Issue Tracking, Patch
- https://github.com/qax-os/excelize/security/advisories/GHSA-r7x5-4969-99p7 Exploit, Vendor Advisory