CVE-2025-66371Peppol-py 1.1.1之前版本存在XML外部实体(XXE)注入漏洞。该漏洞源于Saxon配置不当,在验证基于XML的Peppol发票时,XML解析器可以读取文件系统中的文件并将其内容暴露给远程主机。攻击者可以通过构造恶意的XML文档,利用外部实体引用来读取服务器上的敏感文件,如配置文件、密码文件或其他机密数据。由于该漏洞利用无需用户交互且可通过网络远程触发,对使用Peppol-py进行发票验证的系统构成严重安全风险。Peppol是一种国际电子发票标准,被广泛应用于跨境贸易和电子商务领域,因此该漏洞影响范围较广。
漏洞根源在于Peppol-py库在处理XML验证时使用了配置不当的Saxon XML解析器。Saxon是一个流行的XSLT处理器,当其配置允许外部实体(External Entity)处理时,攻击者可以在XML文档中通过DOCTYPE定义外部实体引用,指向本地文件系统路径(如file:///etc/passwd)。当解析器处理该XML时,会读取指定文件的内容并将其嵌入到XML响应中,进而被攻击者获取。攻击者需要诱使受害者使用Peppol-py验证一个特制的XML发票文件,即可触发XXE漏洞。此类攻击常被用于读取服务器配置文件、SSH密钥、数据库凭证等敏感信息。