CVE-2026-3511CVE-2026-3511是Slovensko.Digital Autogram应用中的一个高危安全漏洞,CVSS评分8.6。该漏洞存在于XMLUtils.java文件中,由于对XML外部实体引用(XXE)的限制不当,导致远程未认证攻击者可以发起服务器端请求伪造(SSRF)攻击,并非法访问运行该应用程序的文件系统上的本地文件。Slovensko.Digital Autogram是斯洛伐克政府推出的数字签名工具,用于电子文档签名验证。攻击成功的关键前提是受害者需要访问一个特制的网站,该网站会向Autogram本地HTTP服务器的/sign端点发送包含恶意XML文档的请求。由于该漏洞影响的是本地运行的HTTP服务器,攻击者需要结合社会工程学技巧,诱导用户访问恶意网页。攻击成功后,攻击者可以读取服务器上的敏感配置文件、凭据文件、环境变量等敏感信息,甚至可以利用SSRF功能探测内网服务。此漏洞无需任何认证即可利用,且不需要用户交互,危害极大。
该漏洞的根本原因在于XMLUtils.java文件在解析XML文档时未正确禁用外部实体解析功能。在XML标准中,外部实体允许引用外部文件或URL内容,攻击者可以通过构造特殊的XML文档来读取本地文件或发起内部网络请求。具体来说,攻击者构造的恶意XML文档可能包含如下实体声明:<!ENTITY xxe SYSTEM "file:///etc/passwd">,然后在XML元素中引用该实体。当Autogram应用解析这个XML文档时,会执行外部实体引用,将本地文件内容或远程资源内容插入到XML响应中。攻击者还可以利用HTTP/HTTPS协议发起SSRF攻击,探测内网服务如http://localhost:6379/(Redis服务)或http://192.168.1.1/admin等内部资源。Autogram应用在/sign端点处理传入的XML签名请求时,未对XML输入进行安全验证,直接解析了包含恶意实体的XML文档,导致安全边界被突破。修复此漏洞需要在XML解析器中显式禁用DTD(文档类型定义)中的外部实体和外部DTD声明。