Skip to main content
← All vulnerabilities
CVE-2026-107218GHSA-8JJQ-8J9W-M2V6

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

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 2.11.1-0.20260908032718-ecd99d761fe0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • qax-os excelize

    From 2.10.1 · through 2.11.0

  • github.com/xuri/excelize/v2Go

    From 2.10.1 · fixed in 2.11.1-0.20260908032718-ecd99d761fe0

References 3

GitHub · qax-os/excelize