Apache Camel 安全公告:CVE-2026-46587 漏洞概述 Camel-Couchbase 组件中,非 Camel 前缀的 Exchange 头信息会绕过 HeaderFilterStrategy,允许从不受信任的输入覆盖操作。 影响范围 4.0.0 到 4.14.8 4.15.0 到 4.18.3 4.19.0 到 4.21.0 修复方案 升级到 4.14.8、4.18.3 或 4.21.0 描述 Camel-couchbase 组件读取几个 Exchange 头信息来控制其行为 - CCB_KEY(文档密钥)、CCB_ID(文档 id)、CCB_TTL(文档过期)、CCB_DDN(设计文档名称)和 CCB_VN(视图名称)。这些字符串值作为头常量定义在 CouchbaseConstants 中,是纯未加前缀的名称,而不是 Camel 组件使用的 Camel 前缀名称(例如 CamelSqlQuery、CamelMongoDbCriteria)。Camel 的入站 HTTP 头过滤器 HttpHeaderFilterStrategy 只阻止以 Camel 开头的头名称。由于 Couchbase 头名称不带前缀,它们通过入站过滤器不变。当 Camel 路由暴露 HTTP 入口点(例如 platform-http)时,在 couchbase 生产者前面,不受信任的 HTTP 客户端可以直接设置这些头信息并覆盖文档密钥、id、TTL、设计文档名称或路由作者配置的视图名称。当 HTTP 消费者未认证时,不需要凭据。 修复详情 修复已合并到 main 分支,并回溯到 camel-4.18.x 和 camel-4.14.x。该问题被归类为 CWE-20(不当输入验证),属于同一 Camel 消息头注入家族的其他 CVE 问题。修复共享了与 CVE-2026-46588(camel-couchdb)相同的 PR。 缓解措施 建议用户升级到 4.21.0。 对于 4.14.x LTS 发布流,建议升级到 4.18.3。 对于 4.18.x 发布流,建议升级到 4.18.3。 修复重命名了 camel-couchbase Exchange 头常量(CCB_KEY、CCB_ID、CCB_TTL、CCB_DDN、CCB_VN)以携带 Camel 前缀。 对于无法立即升级的部署,可以在入站消息到达 couchbase 端点之前,从不受信任的入站消息中剥离受影响的头信息,或应用自定义 HeaderFilterStrategy 来阻止这些名称。 参考 PGP 签名公告数据:CVE-2026-46587.txt.asc Mitre CVE 条目:https://www.cve.org/CVERecord?id=CVE-2026-46587