CVE-2026-41895changedetection.io在0.54.9及更早版本中存在XML外部实体注入(XXE)漏洞。该漏洞源于`xpath_filter()`函数在处理XML/RSS内容时,使用了不安全的XML解析配置。由于未显式禁用外部实体解析和DTD加载,攻击者可通过诱导应用解析特制的恶意XML数据,读取服务器本地敏感文件或探测内网,导致信息泄露。
该漏洞位于changedetection.io的XML处理逻辑中。当`xpath_filter()`函数检测到XML或RSS内容时,会使用Python的`lxml.etree`库创建解析器。代码中创建了`etree.XMLParser(strip_cdata=False)`对象,但未设置`resolve_entities=False`或`no_network=True`等安全参数。随后,应用直接调用`etree.fromstring()`解析用户提供的不可信XML字节。由于解析器默认允许处理外部实体,攻击者可以构造包含恶意DOCTYPE定义的XML载荷,利用SYSTEM实体读取服务器本地文件(如`/etc/passwd`)或执行SSRF攻击。CVSS 3.1评分为7.5,主要影响机密性。