CVE-2026-101259
Apache Camel:Camel-CoAP 通过未静默的消费者异常导致信息泄露
- 已发布
- 2026年10月26日
- 已更新
- 2026年10月26日
- 分配 CNA
- apache
- 观察到的证据
- 2026年10月30日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N低 · 未来 30 天
- 百分位
- 27.9%
- 型号日期
- 2026年10月29日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Apache Camel CoAP 组件中存在生成包含敏感信息的错误消息漏洞。此问题影响 Apache Camel:从 4.0.0 到 4.18.5 之前,从 4.19.0 到 4.22.2 之前。当 CoAP 消费者在路由完成后无法构建其响应时,CamelCoapResource 会捕获由此产生的异常,并将其消息作为 5.00 Internal Server Error 响应的负载发送回 CoAP 客户端。典型情况是类型转换失败:消费者在路由返回之后,也就是在路由的错误处理器之外,将最终消息体转换为 byte[] 负载,并将 CamelCoapMaxAge 和 CamelCoapETag 头转换为各自的类型。在受影响的版本中,此类失败的消息会指明被转换值的类,携带该值的字符串形式,并以底层原因的类名和消息结尾,因此远程 CoAP 客户端可以读取有关部署的内部细节:类和包名、值的字符串形式(例如文件体的路径),以及原因所携带的任何内容,在实践中可能包括后端路径、主机名和连接细节。消费者无法选择抑制此行为,这与 HTTP 消费者不同,后者为此提供了 muteException 选项。失败路由引发的异常不会被发送:消费者没有检查交换是否失败,而是以 2.05 Content 和消息当时持有的任何主体来响应路由失败。因此,要触发该泄露,需要一条路由,其已完成的响应可被远程客户端变为不可转换,这取决于路由的编写方式。建议用户升级到 4.23.0 版本,该版本修复了此问题。如果用户处于 4.22.x 发布流,则建议升级到 4.22.2。如果用户处于 4.18.x 发布流,则建议升级到 4.18.5。4.14.x 发布流及更早版本,以及 4.15.x 至 4.17.x 和 4.19.x 至 4.21.x 发布线,在此问题解决之前已达到生命周期终止,将不会获得修复,因此部署在这些版本上的用户必须迁移到受支持的版本。仅升级本身就已足够:新的 muteException 消费者选项在所有三个已修复的发布线上默认值为 true,因此无需任何配置更改,错误响应就不会携带负载。对于无法立即升级的部署,请确保路由完成后响应始终能够构建:在每条从 coap 端点消费的路由的最后一步将主体转换为 byte[] 或 String,例如使用 convertBodyTo,仅向 CamelCoapMaxAge 和 CamelCoapETag 头赋予其自身类型的值,并添加一个 onException 处理器,将失败标记为已处理并显式设置响应主体,以便转换失败在路由内部而非消费者中引发和替换。
来源
针对 CVE-2026-101259 的可运行概念验证复现程序,演示 Apache Camel camel-coap 消费者在 Spring Boot 和 Quarkus 上的错误消息泄露问题,并包含修复验证。
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。