CVE-2026-46591
Apache Camel:Camel-Neo4j:来自CamelNeo4jMatchProperties头部的JSON属性名称未经验证即被插入到Cypher WHERE子句中,从而允许Cypher注入(CVE-2025-66169的不完整修复)
- 已发布
- 2026年7月6日
- 已更新
- 2026年7月6日
- 分配 CNA
- apache
- 观察到的证据
- 2026年8月6日
初级CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N低 · 未来 30 天
- 百分位
- 44.6%
- 型号日期
- 2026年9月21日
EPSS 是统计估计,而不是确定性或影响衡量标准。将其与 CVSS、KEV 状态、暴露程度和您的环境相结合。
总结
Apache Camel Neo4J 组件中存在数据查询逻辑中特殊元素中和不当(Improper Neutralization of Special Elements in Data Query Logic)漏洞。camel-neo4j 生产者会基于 CamelNeo4jMatchProperties 映射构建其 match/retrieve 和 delete 操作的 Cypher WHERE 子句。CVE-2025-66169 通过将属性值绑定为查询参数($paramN)解决了通过属性值进行的 Cypher 注入,但属性名称(该映射的 JSON 键)在 Neo4jProducer.retrieveNodes() 和 deleteNode() 中仍被原样拼接进查询字符串。因此,包含 Cypher 语法的属性名称会改变所执行查询的结构。当路由将不受信任的输入映射到 CamelNeo4jMatchProperties 映射时——例如将请求体作为 match 映射传入,或来自未过滤入站 Camel* 头的消费者——攻击者若能控制 JSON 键名,即可注入任意 Cypher,读取、修改或删除 Neo4j 数据库中的任意节点或关系。CamelNeo4jMatchProperties 头本身带有 Camel 前缀,并会被 HTTP 头过滤策略过滤,因此普通 HTTP 客户端无法直接设置该头;该问题可通过那些有意或无意将不受信任数据带入该头的路由被利用。此漏洞影响 Apache Camel:4.10.0 至 4.14.8 之前、4.15.0 至 4.18.3 之前、4.19.0 至 4.21.0 之前。建议用户升级至修复该问题的 4.21.0 版本。如果用户使用 4.14.x LTS 发布流,建议升级至 4.14.8。如果用户使用 4.18.x 发布流,建议升级至 4.18.3。对于无法立即升级的部署,请勿从不信任的输入填充 CamelNeo4jMatchProperties 映射:在 Neo4j 生产者之前验证或对属性名称进行白名单校验(例如使用 ^[A-Za-z_][A-Za-z0-9_]*$),并确保任何为此类路由提供数据的消费者过滤入站 Camel* / camel* 头,以免 match 头由外部发送方提供。
来源
1针对 CVE-2026-46591 的复现工具:Apache Camel camel-neo4j 通过 CamelNeo4jMatchProperties 中的属性名进行 Cypher 注入,从而能够实现授权绕过 / 跨标签数据外泄(已在 4.14.8/4.18.3/4.21.0 中修复)
负责任的使用
仅在您拥有或有权测试的系统上使用漏洞信息。 Kitploit 链接到公共研究元数据,并且不存储漏洞代码或恶意负载。