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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-129"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/107xxx/CVE-2026-107218.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:excelize:excelize:*:*:*:*:*:go:*:*",
"range": [
{
"introduced": "2.10.1"
},
{
"last_affected": "2.11.0"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "ecd99d761fe0489f1ed308e2f7dc2e0502d1a396"
}
],
"source": "REFERENCES_COMMIT"
}
]
}