CVE-2025-65482CVE-2025-65482是opensagres XDocReport组件中的一个严重XML外部实体(XXE)注入漏洞。该漏洞影响XDocReport v0.9.2至v2.0.3版本。攻击者可以通过上传精心构造的.docx文件来触发此漏洞,进而读取服务器上的任意文件或执行任意代码。由于该漏洞的CVSS评分高达9.8,属于严重级别,且攻击复杂度低、无需认证和用户交互,因此对使用该组件的系统构成极大威胁。XDocReport是一个流行的Java库,用于处理Office文档格式(如docx、odt等),广泛应用于各种企业应用和内容管理系统中。漏洞的根本原因在于该库在解析XML文档时未正确禁用外部实体引用,导致攻击者可以通过恶意构造的XML内容来利用服务器资源。
该漏洞属于经典的XML外部实体(XXE)注入漏洞。在XDocReport处理.docx文件时,程序会解析文档内部的XML结构。攻击者可以构造一个包含外部实体引用的恶意.docx文件,在XML中引用外部DTD或实体,例如使用<!DOCTYPE>声明引用外部文件或URL。当XDocReport解析这个恶意文档时,会尝试加载攻击者指定的外部资源,从而实现以下攻击效果:1) 读取服务器上的敏感文件(如/etc/passwd、配置文件等);2) 通过file://协议读取任意本地文件;3) 通过http://协议发起SSRF攻击;4) 结合其他技术实现远程代码执行。漏洞主要出现在DocumentFactory、XMLParser等核心解析类中,这些类在初始化XML解析器时未设置相应的安全属性(如disallow-doctype-decl、禁用外部实体等)。docx文件本质上是一个ZIP压缩包,其中包含多个XML文件,攻击者可以修改word/document.xml等文件来注入恶意XML内容。