{"id":"CVE-2026-107225","title":"Excelize is a Go language library for reading and writing Microsoft Excel spreadsheets","summary":"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. Fi…","severity":"medium","cvss":6.5,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","cwe":["CWE-20","CWE-129"],"vendor":"xuri","product":"github.com/xuri/excelize/v2","affected":["github.com/xuri/excelize/v2 >= 2.8.0, < 2.11.1-0.20260731010303-ae2113b410e5"],"patched":["github.com/xuri/excelize/v2 2.11.1-0.20260731010303-ae2113b410e5"],"published":"2026-10-07","updated":"2026-10-07","sourceUpdated":"2026-10-07T19:17:35.333","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-107225","references":[{"url":"https://github.com/qax-os/excelize/commit/ae2113b410e51f6a141c396a59eda8c42b91bc22","label":"security-advisories@github.com"},{"url":"https://github.com/qax-os/excelize/pull/2367","label":"security-advisories@github.com"},{"url":"https://github.com/qax-os/excelize/security/advisories/GHSA-5h23-36rv-pm65","label":"security-advisories@github.com"},{"url":"https://github.com/advisories/GHSA-5h23-36rv-pm65"}],"tags":["nvd","ghsa","go","cve.org"],"aliases":["GHSA-5h23-36rv-pm65"],"ecosystem":"go","ingestedAt":"2026-10-07T20:46:46.977Z","slug":"CVE-2026-107225","body":"## Overview\n\nExcelize 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-107225)\n\nAffected packages:\n\n- `github.com/xuri/excelize/v2 >= 2.8.0, < 2.11.1-0.20260731010303-ae2113b410e5`\n\nPatched in:\n\n- `github.com/xuri/excelize/v2 2.11.1-0.20260731010303-ae2113b410e5`\n\nSource: https://github.com/advisories/GHSA-5h23-36rv-pm65","depth":"sunlit","depthScore":36,"depthScoreParts":{"impact":35.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}