Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.10.1 to 2.11.0, RIGHT validates the requested length with UTF-16 code-unit counts but slices a rune array using Unicode code-point counts. RIGHT reaches leftRight through CalcCellValue, where countUTF16String validates one unit but utf8.RuneCountInString supplies the slice index in another. When RIGHT evaluates supplementary-plane text with a requested character count between the rune count and UTF-16 code-unit count, the inconsistent units produce a negative rune-slice index, allowing an attacker to panic during formula evaluation. 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/ecd99d761fe0489f1ed308e2f7dc2e0502d1a396 Patch
- https://github.com/qax-os/excelize/pull/2390 Issue Tracking, Patch
- https://github.com/qax-os/excelize/security/advisories/GHSA-8jjq-8j9w-m2v6 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 5.3 · excelizeNVD modified 2026-10-13 14:23
Affected (CPE criteria) 1
cpe:2.3:a:excelize:excelize:*:*:*:*:*:go:*:*
References 3
- https://github.com/qax-os/excelize/commit/ecd99d761fe0489f1ed308e2f7dc2e0502d1a396 Patch
- https://github.com/qax-os/excelize/pull/2390 Issue Tracking, Patch
- https://github.com/qax-os/excelize/security/advisories/GHSA-8jjq-8j9w-m2v6 Exploit, Vendor Advisory