# CVE-2026-107218: Excelize RIGHT() function panic on supplementary-plane text with negative index

Source: https://junglewise.ai/threats/cve-2026-107218-excelize-right-on-supplementary-plane-text-slices-with-a  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-07. Updated: 2026-10-07  
License: CC BY 4.0 with a link back

CVE-2026-107218 · Severity: medium · CVSS 5.3 · Published 2026-10-07

Excelize is a Go library for reading and writing Excel files. A logic error in the RIGHT() formula function can cause the application to crash when processing specially crafted spreadsheets containing certain Unicode characters. This denial-of-service issue can be triggered automatically when a malicious file is normalized using AutoFitColWidth, or manually through explicit formula evaluation.

Technologies: [Excelize](https://junglewise.ai/threats/technologies/excelize-excelize), [github.com/xuri/excelize/v2 (Go)](https://junglewise.ai/threats/technologies/github-com-xuri-excelize-v2). Vendors: [Excelize](https://junglewise.ai/threats/vendors/excelize), [Go](https://junglewise.ai/threats/vendors/go).

## Quick answers

**Is CVE-2026-107218 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-107218 being exploited in the wild.

**How severe is CVE-2026-107218?** Medium severity, with a CVSS score of 5.3, published 7 October 2026.

**Which products and versions are affected?** Excelize v2.10.1, v2.11.0; github.com/xuri/excelize/v2 (Go) >= 2.10.1, < 2.11.1-0.20260908032718-ecd99d761fe0, SEMVER:introduced=2.10.1,fixed=2.11.1-0.20260908032718-ecd99d761fe0.

**Is there a fix for CVE-2026-107218?** Yes. github.com/xuri/excelize/v2 (Go): upgrade to 2.11.1-0.20260908032718-ecd99d761fe0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-107218 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-107218?** Check whether you run Excelize or github.com/xuri/excelize/v2 (Go) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/xuri/excelize/v2 (Go): upgrade to 2.11.1-0.20260908032718-ecd99d761fe0 or later

  ```sh
  go get github.com/xuri/excelize/v2@v2.11.1-0.20260908032718-ecd99d761fe0
  ```


## Technical details

A unit mismatch in the RIGHT() function allows a negative array index to bypass bounds checking: the guard uses UTF-16 code unit counting (where supplementary-plane characters count as 2), but the slice operation uses UTF-8 rune counting (where they count as 1). For text with supplementary-plane characters, this causes a panic on slice bounds out of range. The vulnerability is reachable without user interaction via AutoFitColWidth (added in v2.11.0) or through explicit CalcCellValue calls.

## Affected products

- Excelize Excelize v2.10.1, v2.11.0

## Identifiers

- CVE-2026-107218
- GHSA-8jjq-8j9w-m2v6
- GO-2026-6675

## Timeline

- 2026-10-07: disclosed

## Related threats

- [Excelize unchecked pivot-cache field index bounds in extractPivotTableFields](https://junglewise.ai/threats/cve-2026-107211-excelize-unchecked-pivot-cache-field-index-in)
- [Excelize unbounded row iteration denial of service](https://junglewise.ai/threats/cve-2026-107212-excelize-unbounded-row-number-in-rows-columns-makes-getrows-and)
- [Excelize nil-pointer dereference in GetSlicers](https://junglewise.ai/threats/cve-2026-107213-excelize-nil-pointer-dereference-in-getslicers-when-a-worksheet)
- [Excelize Decrypt panic on malformed OLE encrypted workbooks](https://junglewise.ai/threats/cve-2026-107214-excelize-decrypt-unrecoverable-panics-on-malformed-ole-cfb)
- [Excelize extractPart unbounded buffer allocation DoS](https://junglewise.ai/threats/cve-2026-107215-excelize-extractpart-allocates-attacker-controlled-unbounded-and)
