CVE-2025-66370CVE-2025-66370是Kivitendo ERP系统中的一个XML外部实体(XXE)注入漏洞。该漏洞存在于3.9.2之前版本中,攻击者可以通过上传特制的ZUGFeRD格式电子发票来触发XXE攻击。ZUGFeRD是一种基于XML的电子发票标准格式,广泛应用于欧洲的发票处理系统。当Kivitendo ERP处理包含恶意XML实体引用的ZUGFeRD文件时,解析器会尝试加载外部实体,攻击者借此可以读取服务器上的任意文件,包括配置文件、密码文件、源代码等敏感信息。此漏洞的CVSS评分为5.0,属于中等严重程度,主要影响系统的机密性。攻击者需要具有低权限账户即可发起攻击,且无需用户交互。由于该漏洞利用简单且影响范围明确,建议相关用户尽快升级到最新版本或采取临时防护措施。
该漏洞的根本原因在于Kivitendo ERP的XML解析器未正确禁用外部实体解析功能。在处理ZUGFeRD格式发票时,系统直接解析XML内容而未进行安全配置。攻击者可以构造包含<!ENTITY>定义的恶意XML文件,通过SYSTEM关键字引用本地文件路径(如file:///etc/passwd)或远程资源。当XML解析器处理这些实体引用时,会执行外部实体加载,从而将文件内容泄露到XML响应中。ZUGFeRD格式支持XMP元数据和XML数据结构,为攻击者提供了注入点。攻击者只需构造一个符合ZUGFeRD基本结构的XML文件,在其中嵌入XXE payload,然后通过发票上传功能提交即可。成功利用后可读取服务器上的配置文件、数据库凭证、应用源代码等敏感数据。建议通过禁用XML外部实体解析、使用安全的XML解析库、并对上传文件进行严格的白名单验证来修复此漏洞。