Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSend crafted request with malicious JSON key name
-
DeliveryRoute passes body/header into CamelNeo4jMatchProperties map
-
ExploitNeo4jProducer concatenates key verbatim into Cypher WHERE clause
-
ExecutionInjected Cypher syntax alters query structure
-
PersistArbitrary Cypher executes against Neo4j database
-
ImpactRead, modify, or delete any node or relationship
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Query language parameterization
|
| Exploitation Conditions | Exploitation requires that a deployed Camel route using the camel-neo4j producer populates the CamelNeo4jMatchProperties map with attacker-controlled data - specifically that the attacker controls at least one JSON key name (not merely a value) in that map. The advisory identifies two realistic paths: a route that passes a request body directly as the match properties map, or a consumer that does not filter inbound Camel* headers and allows an external sender to supply the match map. The HTTP header-filter strategy applied to standard HTTP consumers explicitly blocks the CamelNeo4jMatchProperties header from being set by plain HTTP clients, so a vanilla REST endpoint is NOT vulnerable unless the route explicitly reads and forwards it. Exploitation is limited to the match/retrieve and deleteNode operations of the Neo4j producer; other Camel components are unaffected. No authentication level is determinable from available data without a CVSS vector, but access is constrained to whatever endpoint exposes the vulnerable route. |
| Impact | No CVSS vector or EPSS score is provided in the available intelligence, so risk must be assessed from the description and structural signals alone. The flaw is a full Cypher injection granting read, modify, and delete access to the entire Neo4j graph, which corresponds to a Critical-class impact in isolation. However, exploitation is gated by a significant architectural prerequisite: the vulnerable path is only reachable if an application route deliberately or inadvertently maps untrusted external data into the CamelNeo4jMatchProperties header. The HTTP header-filter strategy explicitly blocks this header from being set by plain HTTP clients, meaning it cannot be injected directly over a standard REST interface without a permissive or misconfigured route. This prerequisite meaningfully reduces the realistic attack surface compared to the raw severity of the impact. No KEV listing and no identified POC further support a lower urgency for most deployments. Priority should be highest for integrations that parse untrusted JSON bodies and forward keys into the match properties map - a pattern the advisory explicitly flags as vulnerable. |
| Exploit ScenarioDerived | An attacker targets an API endpoint backed by a Camel route that passes a parsed JSON request body directly as the CamelNeo4jMatchProperties map. By sending a request body whose JSON keys contain Cypher syntax - such as a key named 'x] RETURN n UNION MATCH (m) DETACH DELETE m //' - the attacker causes Neo4jProducer to concatenate that key verbatim into the WHERE clause, altering the query structure and executing the injected Cypher. This results in deletion of all graph data or exfiltration of arbitrary nodes. No public proof-of-concept code has been identified, but the injection pattern is straightforward for an attacker familiar with Cypher syntax. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 06, 2026
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.
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.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
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.
Know when Apache Camel gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
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
Lifecycle Timeline
2DescriptionCVE.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.
Blast Radius
ecosystem impact- 1 maven packages depend on org.apache.camel:camel-neo4j (1 direct, 0 indirect)
Ecosystem-wide dependent count for version 4.10.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.
NoSQL injection exploits databases that don't use traditional SQL syntax-like MongoDB, CouchDB, or Redis-by manipulating queries through unsanitized user input.
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
Unauthenticated remote code execution affects the camel-hazelcast component of Apache Camel 4.0.0 through 4.18.4 and 4.1
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)
Unauthenticated deserialization of attacker-controlled messages in Apache Camel's camel-jgroups consumer can lead to rem
Expression language injection in the Apache Camel dynamic-router-control endpoint allows a party who can place a message
Deserialization of untrusted data in the Apache Camel Spring Redis component (camel-spring-redis) allows an authenticate
EUVD-2026-41835
GHSA-q86m-qjpm-vqcw
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB