Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
AC:H reflects the prerequisite of a route that maps untrusted input to match properties; S:C because impact crosses into the Neo4j database system; PR:N assuming the vulnerable route is externally exposed.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:N
Lifecycle Timeline
3Blast Radius
ecosystem impact- 6 maven packages depend on org.apache.camel:camel-neo4j (2 direct, 4 indirect)
Ecosystem-wide dependent count for version 4.10.0.
DescriptionCVE.org
Improper Neutralization of Special Elements in Data Query Logic vulnerability in Apache Camel Neo4J component.
The camel-neo4j producer builds the Cypher WHERE clause for its match/retrieve and delete operations from the CamelNeo4jMatchProperties map. CVE-2025-66169 addressed Cypher injection through the property values by binding them as query parameters ($paramN), but the property names (the JSON keys of that map) were still concatenated into the query string verbatim in Neo4jProducer.retrieveNodes() and deleteNode(). A property name containing Cypher syntax therefore alters the structure of the executed query. Where a route maps untrusted input into the CamelNeo4jMatchProperties map - for example by passing a request body as the match map, or from a consumer that does not filter inbound Camel* headers - an attacker who controls the JSON key names can inject arbitrary Cypher and read, modify or delete any node or relationship in the Neo4j database. The CamelNeo4jMatchProperties header is itself Camel-prefixed and is filtered by the HTTP header-filter strategy, so a plain HTTP client cannot set it directly; the issue is reachable through routes that deliberately or inadvertently carry untrusted data into that header. This issue affects Apache Camel: from 4.10.0 before 4.14.8, from 4.15.0 before 4.18.3, from 4.19.0 before 4.21.0.
Users are recommended to upgrade to version 4.21.0, which fixes the issue. If users are on the 4.14.x LTS releases stream, then they are suggested to upgrade to 4.14.8. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.3. For deployments that cannot upgrade immediately, do not populate the CamelNeo4jMatchProperties map from untrusted input: validate or allow-list the property names (for example against ^[A-Za-z_][A-Za-z0-9_]*$) before the Neo4j producer, and ensure that any consumer feeding such a route filters inbound Camel* / camel* headers so the match header cannot be supplied by an external sender.
AnalysisAI
Cypher injection in Apache Camel's camel-neo4j producer allows attackers who control JSON key names in the CamelNeo4jMatchProperties map to execute arbitrary Cypher queries against the connected Neo4j database, enabling unauthorized read, modification, or deletion of any node or relationship. The flaw exists across three release streams (4.10.0-4.14.7, 4.15.0-4.18.2, 4.19.0-4.20.x) and is a direct bypass of the partial fix introduced in CVE-2025-66169, which bound property values as query parameters but left property names (JSON keys) concatenated verbatim into the WHERE clause. No public exploit code or CISA KEV listing has been identified at time of analysis, though the prior related CVE in the same producer indicates recurring injection exposure in this component.
Technical ContextAI
Apache Camel's camel-neo4j component (CPE: cpe:2.3:a:apache_software_foundation:apache_camel:*) provides a producer that translates Camel exchange headers into Cypher queries for Neo4j graph database operations. The CamelNeo4jMatchProperties header supplies a map of key-value pairs used to build a WHERE clause for match/retrieve and delete operations. CVE-2025-66169 previously fixed injection via property values by parameterizing them ($paramN), but Neo4jProducer.retrieveNodes() and deleteNode() still construct the WHERE clause by concatenating property names (JSON keys) as raw strings. CWE-943 (Improper Neutralization of Special Elements in Data Query Logic) is the root cause class - the application builds a graph query from externally influenced input without escaping or validating structural syntax in key names. A Cypher-aware attacker can use key names such as 'x] RETURN true UNION MATCH (n) DETACH DELETE n //' to alter the executed query structure entirely.
RemediationAI
The primary fix is to upgrade Apache Camel to version 4.21.0 (latest), 4.14.8 (4.14.x LTS stream), or 4.18.3 (4.18.x stream), as confirmed by the Apache security advisory at https://camel.apache.org/security/CVE-2026-46591.html. For deployments that cannot upgrade immediately, the advisory recommends two specific compensating controls: first, validate or allowlist property names before they reach the Neo4j producer using a strict pattern such as ^[A-Za-z_][A-Za-z0-9_]*$ - this rejects any key containing Cypher syntax characters; second, ensure that every consumer feeding a Neo4j route applies header filtering that blocks inbound Camel* and camel* headers from external senders, preventing the match properties map from being populated by untrusted sources. The allowlist approach has no functional side effects for well-formed graph property names but will silently drop or error on names containing special characters, which may require error handling. The header-filter approach is a defense-in-depth measure; it does not protect against routes that explicitly map request body content to the match map.
More in Apache Camel
View allRemote code execution in Apache Camel's camel-coap component (versions 4.14.0-4.14.5, 4.18.0 before 4.18.1, and 4.19.0)
Unsafe Java deserialization in Apache Camel's camel-infinispan component allows arbitrary code execution when the ProtoS
Header-injection in the Apache Camel camel-atmosphere-websocket producer lets an external sender hijack WebSocket messag
Header-filter bypass in the Apache Camel Undertow component (4.11.0-4.14.8, 4.15.0-4.18.3, and 4.19.0-4.21.x) lets remot
Remote code execution in Apache Camel 3.18.0-4.14.5 and 4.15.0-4.18.1 stems from CXF and Knative HeaderFilterStrategy im
Message header injection in Apache Camel's camel-mail component (3.0.0 before 4.14.6 and 4.15.0 before 4.18.1) lets an a
Remote code execution via unsafe Java deserialization affects the camel-pqc component of Apache Camel 4.18.0-4.18.2 and
Unsafe Java deserialization in Apache Camel's camel-consul component (ConsulRegistry / ConsulRegistryUtils.deserialize)
Remote code execution in the Apache Camel camel-hazelcast component allows an attacker who can join or reach the Hazelca
Remote code execution in Apache Camel's camel-vertx-http component (4.0.0-4.14.7, 4.15.0-4.18.2, 4.19.0) arises when a p
Blind out-of-band data exfiltration in Apache Camel 4.14.0-4.20.x arises because the default ObjectInputFilter pattern b
JWT claim validation in Apache Camel's Platform HTTP Main component silently fails to enforce issuer and audience constr
Same technique Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-41835
GHSA-q86m-qjpm-vqcw