Skip to content
OpenAdvisories
Medium · 5.3 CVE-2026-107218 EUVD-2026-94548GHSA-8jjq-8j9w-m2v6GO-2026-6675

Excelize: RIGHT() on supplementary-plane text slices with a negative index and panics

Published Oct 7, 2026 · Updated Oct 7, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
qax-os excelize >= 2.10.1, <= 2.11.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/xuri/excelize/v2 >= 2.10.1, < 2.11.1-0.20260908032718-ecd99d761fe0 2.11.1-0.20260908032718-ecd99d761fe0 GHSA-8jjq-8j9w-m2v6

References