Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-108358— PhpSpreadsheet: XmlScanner Bypass via ISO-2022 Escape Sequences Allows XXE and Denial of Service

Quick assessment

Affected
PHPOffice PhpSpreadsheet
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

PhpSpreadsheet 是一个用于读写电子表格文件的纯 PHP 库。在版本 1.30.7、2.1.19、2.4.8、3.10.8 和 5.10.0 之前, 中的 方法所使用的 DOCTYPE 检测模式虽然考虑了空字节(NUL-byte)交错的情况,但未能处理 XLSX 文件中 XML 部分存在的 ISO-2022 转义序列。这些转义序列会阻止扫描器匹配到 DOCTYPE 声明;随后,XML 字符集规范化过程会在解析前移除这些转义字节,从而暴露出有效的 DOCTYPE 声明和实体定义。因此,处理由攻击者控制的

CVSS 8.8 · High

Affected Version Matrix 5

VendorProduct Version RangeStatus
PHPOffice PhpSpreadsheet < 1.30.7 affected
>= 2.0.0, < 2.1.19 affected
>= 2.2.0, < 2.4.8 affected
>= 3.3.0, < 3.10.8 affected
>= 4.0.0, < 5.10.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-108358

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
PhpSpreadsheet: XmlScanner Bypass via ISO-2022 Escape Sequences Allows XXE and Denial of Service
Source: CVE Program / CVE List V5
Vulnerability Description
PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0, XmlScanner::scan in src/PhpSpreadsheet/Reader/Security/XmlScanner.php uses a DOCTYPE detection pattern that accounts for NUL-byte interleaving but not ISO-2022 escape sequences in XLSX XML parts. The escape sequences prevent the scanner from matching the declaration, and XML charset normalization then removes the escape bytes before parsing, exposing a valid DOCTYPE and entity definitions. Processing an attacker-controlled XLSX can therefore cause entity-expansion denial of service on supported PHP versions and can permit local file access or SSRF on PHP before 8.0 or when LIBXML_NOENT is enabled. This issue is fixed in versions 1.30.7, 2.1.19, 2.4.8, 3.10.8, and 5.10.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:L/SI:N/SA:N
Source: CVE Program / CVE List V5
Vulnerability Type
XML外部实体引用的不恰当限制(XXE)
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
PHPOffice PhpSpreadsheet < 1.30.7 -

II. Public POCs for CVE-2026-108358

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-108358

请登录查看更多情报信息。

Other References for CVE-2026-108358 (11)

Same Patch Batch · PHPOffice · 2026-10-22 · 4 CVEs total

CVE-2026-108357 8.8 HIGH PhpSpreadsheet: XmlScanner Bypass via Double-Encoded unentity() TOCTOU Allows XXE and Deni
CVE-2026-108359 8.7 HIGH PhpSpreadsheet ODS Reader: Unbounded number-rows-repeated → CPU & Memory Exhaustion (DoS)
CVE-2026-108360 6.4 MEDIUM PhpSpreadsheet: SSRF whitelist bypass via unre-validated HTTP redirect in Drawing::setPath

IV. Related Vulnerabilities

V. Comments for CVE-2026-108358

No comments yet


Leave a comment