CVE-2026-46591: CWE-943 Improper Neutralization of Special Elements in Data Query Logic in Apache Software Foundation Apache Camel
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.
AI Analysis
Technical Summary
The Apache Camel Neo4J component's producer builds Cypher WHERE clauses using property names from the CamelNeo4jMatchProperties map without proper neutralization. While prior fixes addressed injection via property values, the property names themselves remain concatenated verbatim into queries in Neo4jProducer.retrieveNodes() and deleteNode(). If untrusted input controls these property names, an attacker can inject arbitrary Cypher commands, potentially reading, modifying, or deleting any data in the Neo4j database. The vulnerability affects Apache Camel versions from 4.10.0 before 4.14.8, from 4.15.0 before 4.18.3, and from 4.19.0 before 4.21.0. The issue is mitigated by upgrading to Apache Camel 4.21.0 or the respective fixed LTS versions 4.14.8 and 4.18.3. For environments unable to upgrade immediately, users should validate or allow-list property names (e.g., against ^[A-Za-z_][A-Za-z0-9_]*$) and ensure that inbound Camel* headers are filtered to prevent external injection.
Potential Impact
An attacker who can influence the JSON keys in the CamelNeo4jMatchProperties map can inject arbitrary Cypher queries, leading to unauthorized read, modification, or deletion of any node or relationship in the Neo4j database. This compromises data integrity and confidentiality within affected Apache Camel deployments that use the Neo4J component and improperly handle untrusted input in this property map.
Mitigation Recommendations
A fix is available by upgrading Apache Camel to version 4.21.0 or to the fixed LTS releases 4.14.8 or 4.18.3. For deployments unable to upgrade immediately, do not populate the CamelNeo4jMatchProperties map from untrusted input. Validate or allow-list property names against a strict pattern such as ^[A-Za-z_][A-Za-z0-9_]*$ before passing them to the Neo4j producer. Additionally, ensure that any consumer feeding such routes filters inbound Camel* or camel* headers to prevent external clients from supplying the CamelNeo4jMatchProperties header directly.
CVE-2026-46591: CWE-943 Improper Neutralization of Special Elements in Data Query Logic in Apache Software Foundation Apache Camel
Description
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.
CVSS v3.1
Score 8.2high
Affected software
pkg:maven/Apache Software Foundation/org.apache.camel:camel-neo4jRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The Apache Camel Neo4J component's producer builds Cypher WHERE clauses using property names from the CamelNeo4jMatchProperties map without proper neutralization. While prior fixes addressed injection via property values, the property names themselves remain concatenated verbatim into queries in Neo4jProducer.retrieveNodes() and deleteNode(). If untrusted input controls these property names, an attacker can inject arbitrary Cypher commands, potentially reading, modifying, or deleting any data in the Neo4j database. The vulnerability affects Apache Camel versions from 4.10.0 before 4.14.8, from 4.15.0 before 4.18.3, and from 4.19.0 before 4.21.0. The issue is mitigated by upgrading to Apache Camel 4.21.0 or the respective fixed LTS versions 4.14.8 and 4.18.3. For environments unable to upgrade immediately, users should validate or allow-list property names (e.g., against ^[A-Za-z_][A-Za-z0-9_]*$) and ensure that inbound Camel* headers are filtered to prevent external injection.
Potential Impact
An attacker who can influence the JSON keys in the CamelNeo4jMatchProperties map can inject arbitrary Cypher queries, leading to unauthorized read, modification, or deletion of any node or relationship in the Neo4j database. This compromises data integrity and confidentiality within affected Apache Camel deployments that use the Neo4J component and improperly handle untrusted input in this property map.
Mitigation Recommendations
A fix is available by upgrading Apache Camel to version 4.21.0 or to the fixed LTS releases 4.14.8 or 4.18.3. For deployments unable to upgrade immediately, do not populate the CamelNeo4jMatchProperties map from untrusted input. Validate or allow-list property names against a strict pattern such as ^[A-Za-z_][A-Za-z0-9_]*$ before passing them to the Neo4j producer. Additionally, ensure that any consumer feeding such routes filters inbound Camel* or camel* headers to prevent external clients from supplying the CamelNeo4jMatchProperties header directly.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- apache
- Date Reserved
- 2026-05-15T13:27:34.353Z
- Cvss Version
- null
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 6a4b6cae27e9c7971925236a
Added to database: 07/06/2026, 08:51:58 UTC
Last enriched: 07/06/2026, 09:08:39 UTC
Last updated: 07/06/2026, 23:07:48 UTC
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.