{"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":"excelize","product":"excelize","affected":["excelize >= 2.8.0, <= 2.11.0"],"patched":["github.com/xuri/excelize/v2 2.11.1-0.20260731010303-ae2113b410e5"],"published":"2026-10-07","updated":"2026-10-13","sourceUpdated":"2026-10-13T13:08:51.830","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/qax-os/excelize/security/advisories/GHSA-5h23-36rv-pm65","label":"134c704f-9b21-4f2e-91b3-4a467353bcc0"},{"url":"https://github.com/advisories/GHSA-5h23-36rv-pm65"},{"url":"https://github.com/qax-os/excelize"}],"tags":["nvd","ghsa","go","cve.org","osv","exploit-available"],"epss":0.0027,"epssPercentile":0.19056,"aliases":["GHSA-5h23-36rv-pm65"],"ecosystem":"go","ingestedAt":"2026-10-07T20:46:46.977Z","exploitAvailable":true,"ssvc":{"exploitation":"poc","automatable":"no","technicalImpact":"partial","timestamp":"2026-10-10T02:41:58.921948Z"},"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## Affected\n\n- `excelize >= 2.8.0, <= 2.11.0`\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":"twilight","depthScore":48,"depthScoreParts":{"impact":35.8,"likelihood":0.1,"exploitation":12,"ransomware":0},"changes":[{"seq":220686,"id":"CVE-2026-107225","ts":1792026564805,"field":"exploit_available","old":"false","new":"true"}]}