PHPSpreadsheet 的 XLSX 阅读器中的 XML 外部实体引用 (XXE) (CVE-2024-45293)
CVE编号
CVE-2024-45293利用情况
暂无补丁情况
N/A披露时间
2024-10-08漏洞描述
PHPSpreadsheet是一个纯PHP库,用于读写电子表格文件。在XLSX阅读器中负责防止XXE攻击的扫描器可以通过稍微修改XML结构并利用空格绕过。在允许用户上传自己的Excel(XLSX)表格的服务器上,通过提供定制的表格可以泄露服务器文件和敏感信息。src/PhpSpreadsheet/Reader/Security/XmlScanner.php中的安全扫描功能包含一个缺陷的XML编码检查,用于在toUtf8函数中检索输入文件的XML编码。该函数通过定义的正则表达式搜索XML编码,该正则表达式查找`encoding="*"`和/或`encoding='*'`,如果没有找到,则默认为UTF-8编码,从而绕过转换逻辑。可以利用属性定义中的等号前后的空格传递UTF-7编码的XXE负载。在允许用户上传自己的电子表格并使用PHPSpreadsheet的Excel解析器解析它们的网站上,通过XXE泄露敏感信息。这个问题已在发布版本1.29.1、2.1.1和2.3.0中得到解决。建议所有用户进行升级。对于此漏洞,尚无已知的解决方案。解决建议
"将组件 phpoffice/phpspreadsheet 升级至 2.1.1 及以上版本""将组件 phpoffice/phpspreadsheet 升级至 1.29.1 及以上版本""将组件 phpoffice/phpspreadsheet 升级至 2.3.0 及以上版本"
参考链接 |
|
---|---|
https://github.com/PHPOffice/PhpSpreadsheet/security/advisories/GHSA-6hwr-6v2f-3m88 |
- 攻击路径 网络
- 攻击复杂度 低
- 权限要求 无
- 影响范围 未更改
- 用户交互 无
- 可用性 无
- 保密性 高
- 完整性 无
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论