CVE-2026-107225

Excelize: GetStyle panics on a negative fillId, borderId or fontId in styles.xml

State
Published
Severity
6.5 Medium
Published
Oct 7, 2026
Updated
Oct 10, 2026
Reserved
Oct 7, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.16.5 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:HGitHub_M

Weaknesses

  • CWE-20 Improper Input Validation
  • CWE-129 Improper Validation of Array Index

Affected Products

ProductVersions
excelizeqax-os
  • >= 2.8.0, <= 2.11.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.