Skip to content
VulniPulse
High8.2Apache Software Foundation

High [CVE-2025-66169 +1] Improper Neutralization of Special Elements in Data Query Logic vulnerability in Apache Camel Neo4J component

This high-severity Apache Software Foundation advisory covers CVE-2025-66169 and CVE-2026-46591 affecting Apache Camel Neo4J.

CVE-2026-46591 Published Jul 6, 2026Updated by vendor Jul 8, 2026
Affected products & platforms
Apache Software FoundationMessaging
Open vendor advisory

Android app · Google Play

Monitor future Apache Software Foundation CVEs from your phone.

Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 32 official vendor sources and 160+ reviewed platform categories.

Matching phone alertsOptional email delivery

Summary

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.

Affected versions
  • 4.10.0 through 4.14.8
  • 4.15.0 through 4.18.3
  • 4.19.0 through 4.21.0.

Official advisory · high-confidence parse· fetched 2 months ago·verify at source

Fixed versions
  • 4.21.0
  • 4.14.8
  • 4.18.3

Official advisory · high-confidence parse· fetched 2 months ago·verify at source

Mitigation checklist

Recommended fix / mitigation
  • 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.

Official advisory · high-confidence parse· fetched 2 months ago·verify at source

Discussion(0)

No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.

Sign in to join the discussion.