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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-40902— PhpSpreadsheet: CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions

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是PHPOffice开源的一款用于读取和写入电子表格文件的PHP库。 PhpSpreadsheet 1.30.4之前版本、2.1.16之前版本、2.4.5之前版本、3.10.5之前版本和5.7.0之前版本存在安全漏洞,该漏洞源于XLSX读取器的ColumnAndRowAttributes::readRowAttributes方法未验证行号是否超过最大行限制,可能导致攻击者制作恶意文件导致CPU资源耗尽。

CVSS 7.5 · High EPSS 0.49% · P40

Possible ATT&CK Techniques 1 AI

T1496 · Resource Hijacking

Affected Version Matrix 5

VendorProduct Version RangeStatus
PHPOffice PhpSpreadsheet < 1.30.4 affected
>= 2.0.0, < 2.1.16 affected
>= 2.2.0, < 2.4.5 affected
>= 3.3.0, < 3.10.5 affected
>= 4.0.0, < 5.7.0 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-40902

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: CPU Denial of Service via Unbounded Row Number in XLSX Row Dimensions
Source: CVE Program / CVE List V5
Vulnerability Description
PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the XLSX reader's ColumnAndRowAttributes::readRowAttributes() method reads row numbers from XML attributes without validating them against the spreadsheet maximum row limit (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a minimal XLSX file (~1.6KB) containing a <row r="999999999"/> element that inflates cachedHighestRow to 999,999,999, causing any subsequent row iteration to attempt ~1 billion loop cycles and exhaust CPU resources. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
不加限制或调节的资源分配
Source: CVE Program / CVE List V5
Vulnerability Title
PhpSpreadsheet 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
PhpSpreadsheet是PHPOffice开源的一款用于读取和写入电子表格文件的PHP库。 PhpSpreadsheet 1.30.4之前版本、2.1.16之前版本、2.4.5之前版本、3.10.5之前版本和5.7.0之前版本存在安全漏洞,该漏洞源于XLSX读取器的ColumnAndRowAttributes::readRowAttributes方法未验证行号是否超过最大行限制,可能导致攻击者制作恶意文件导致CPU资源耗尽。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
PHPOffice PhpSpreadsheet < 1.30.4 -

II. Public POCs for CVE-2026-40902

# 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-40902

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

Vendor Advisories for CVE-2026-40902 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-40902

No comments yet


Leave a comment