CVE-2024-58335OpenXRechnungToolbox是一款用于处理电子发票的工具。在2024-10-05发布的3.0.0及之前版本中,存在XML外部实体注入(XXE)漏洞。漏洞位于visualization/VisualizerImpl.java文件中,由于未启用disallow-doctype-decl安全特性,导致应用在解析XML文件时允许处理DTD(文档类型定义)和外部实体。攻击者可通过构造包含恶意XML实体的文件,诱导用户处理该文件,从而实现本地文件读取、SSRF攻击或拒绝服务等危害。鉴于电子发票处理工具通常需要解析大量第三方XML文档,此漏洞对使用该工具的企业和个人用户构成中等安全风险。
该漏洞属于经典的XML外部实体注入(XXE)漏洞。在Java的XML解析中,如果未正确配置安全特性,解析器会处理DTD并允许定义外部实体。OpenXRechnungToolbox的VisualizerImpl.java组件在初始化XML解析器时缺少以下关键配置:1) disallow-doctype-decl设置为true以禁止DTD声明;2) external-general-entities和external-parameter-entities设置为false以禁用外部实体;3) 无适当的EntityResolver限制。攻击者可以构造包含<!ENTITY>定义的恶意XML文件,通过file://、http://等协议访问系统资源或发起内部网络请求。典型的XXE Payload如:<!DOCTYPE root [<!ENTITY xxe SYSTEM "file:///etc/passwd">]><root>&xxe;</root>,可导致敏感文件内容被读取并包含在XML响应中。