易受攻击的Perl电子表格解析模块
内容提要
2023年12月至2024年1月期间,Spreadsheet::ParseExcel和Spreadsheet::ParseXLSX报告了漏洞。Spreadsheet::ParseExcel存在任意代码执行漏洞,Spreadsheet::ParseXLSX存在拒绝服务漏洞和XML外部实体攻击漏洞。这些漏洞可能被中国支持的威胁行为者利用。
延伸解读
漏洞影响范围与版本
文章指出,Spreadsheet::ParseExcel 0.65及之前版本存在任意代码执行漏洞;Spreadsheet::ParseXLSX 0.27及之前版本存在拒绝服务漏洞,0.29及之前版本存在XML外部实体攻击漏洞。使用这些版本处理不可信Excel文件的应用程序可能面临风险。
实际攻击案例与威胁行为者
文章提到,Spreadsheet::ParseExcel的任意代码执行漏洞被中国支持的威胁行为者UNC4841利用,用于攻击Barracuda Email Security Gateway设备,并被认为是CVE-2023-7102的根本原因。这表明该漏洞已被用于实际攻击。
漏洞利用方式与风险
攻击者可通过构造恶意Excel文件利用这些漏洞:在ParseExcel中,恶意代码隐藏在数字格式字符串中,解析时通过Perl eval执行;在ParseXLSX中,通过合并单元格耗尽内存导致拒绝服务,或通过XML外部实体加载外部数据造成信息泄露或拒绝服务。
修复与防护建议
文章建议升级到已修复版本,并强调配置XML解析器时不应允许加载外部实体。对于使用这些模块的应用程序,应避免处理不可信文件,或确保使用最新版本以降低风险。
Q&A
Spreadsheet::ParseExcel 存在什么漏洞?影响哪些版本?
Spreadsheet::ParseExcel 存在任意代码执行漏洞(CVE-2023-7101),影响 0.65 及之前的版本。攻击者可以构造包含恶意代码的 Excel 文件,当文件被解析时执行任意代码。
Spreadsheet::ParseXLSX 有哪些漏洞?分别影响什么版本?
Spreadsheet::ParseXLSX 存在两个漏洞:拒绝服务漏洞(CVE-2024-22368)影响 0.27 及之前版本;XML 外部实体攻击漏洞(CVE-2024-23525)影响 0.29 及之前版本。
攻击者如何利用 Spreadsheet::ParseExcel 的任意代码执行漏洞?
攻击者构造一个 Excel 文件,其中包含编码为数字格式字符串的恶意代码。当 Spreadsheet::ParseExcel 解析该文件时,不可信数据被传递给 Perl 的 eval 函数,从而导致任意代码执行。
Spreadsheet::ParseXLSX 的拒绝服务漏洞是如何触发的?
攻击者创建一个 XLSX 文件,将合并单元格设置为包含电子表格中所有可能的单元格。易受攻击的 Spreadsheet::ParseXLSX 版本在解析时会分配大量内存来跟踪该合并单元格,导致服务器内存耗尽,从而引发拒绝服务。
Spreadsheet::ParseXLSX 的 XML 外部实体攻击漏洞有什么风险?
该漏洞允许攻击者通过指示 XML 解析器加载外部数据,使易受攻击的代码包含本不应可用的数据或文件,可能导致信息泄露或拒绝服务。
这些漏洞是否被实际利用?与哪个威胁行为者有关?
Spreadsheet::ParseExcel 的任意代码执行漏洞据称被中国支持的威胁行为者 UNC4841 利用,用于入侵 Barracuda Email Security Gateway (ESG) 设备,并被认为是 CVE-2023-7102 的根本原因。Spreadsheet::ParseXLSX 的拒绝服务漏洞是否被用于生产服务器尚不清楚。