Skip to main content

Apache Camel CVE-2026-60093

| EUVDEUVD-2026-64954 MEDIUM
Relative Path Traversal (CWE-23)
2026-08-24 apache GHSA-7jwc-q3fj-c9pq
5.5
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain write access to target Azure Data Lake filesystem
  2. Delivery
    Create file with path-traversal name (e.g., '../../etc/cron.d/payload')
  3. Exploit
    Camel consumer enumerates paths verbatim via PathItem.getName()
  4. Execution
    downloadToFile constructs unnormalized local path outside fileDir
  5. Persist
    Camel process writes attacker content to arbitrary filesystem location
  6. Impact
    Overwrite sensitive file to escalate privileges or persist

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Relative path traversal prevention
Exploitation Conditions

The attacker must have write access to the specific Azure Data Lake Storage Gen2 filesystem that the Camel consumer is configured to enumerate - this is the critical prerequisite that narrows the exposed population. The Camel route must be using the camel-azure-storage-datalake component with the downloadToFile operation enabled; routes that do not invoke downloadToFile are not affected. The consumer must be actively running and polling the filesystem. No special non-default configuration is required to be vulnerable: the fileDir option is a standard common-group parameter carrying no security marker, and the traversal occurs in the default consumer enumeration path. Exploitation is limited by: (1) the requirement for Data Lake write access - environments where the storage account is exclusively controlled by the Camel operator are not exploitable by external parties; (2) the impact ceiling being bounded by the filesystem privileges of the Camel process - a minimal service account with restricted write scope significantly reduces the blast radius; (3) no network-level unauthenticated vector - the attack requires cloud storage credentials or permissions.

Impact

No CVSS vector was provided by NVD or the reporter at time of analysis - metrics below are independently assessed. The exploitability profile is moderate: the attacker must have write access to the Azure Data Lake filesystem that Camel is consuming, which is a non-trivial prerequisite that limits the exposed population. However, once that access exists, exploitation is straightforward and requires no interaction from a Camel operator - the consumer automatically enumerates and downloads all listed paths. The integrity impact is high: the Camel process can be made to write or overwrite any file it has permission to write, potentially including configuration files, cron jobs, SSH authorized_keys, or application binaries, enabling privilege escalation beyond the immediate integrity loss. No EPSS score is available; no KEV listing exists; no public POC has been identified. The practical risk is highest for Camel deployments in multi-tenant or shared Azure environments where the Data Lake storage account is not exclusively controlled by the Camel operator, or in deployments where the Camel process runs with elevated filesystem privileges. For deployments where the Data Lake account is tightly access-controlled and the Camel process runs under a restricted service account, real-world risk is substantially lower than the worst-case CVSS suggests.

Exploit ScenarioDerived

An attacker with write access to the Azure Data Lake Storage Gen2 filesystem that a Camel route is consuming creates a file whose name contains a parent-directory traversal sequence, such as '../../etc/cron.d/backdoor'. When the Camel consumer next polls the filesystem, it enumerates this path and, without any name filtering or normalization, invokes downloadToFile with the resolved path /configured/fileDir/../../etc/cron.d/backdoor. The Camel process writes the attacker-controlled file content to /etc/cron.d/backdoor, establishing a cron-based persistence mechanism with the privileges of the Camel service account. No public POC has been identified, but the attack is straightforward given write access to the storage account.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 24, 2026

Path traversal in Apache Camel's camel-azure-storage-datalake component allows anyone with write access to a consumed Azure Data Lake Storage Gen2 filesystem to direct the Camel process to write or overwrite files at arbitrary locations on the local filesystem. The downloadToFile operation constructs local paths by joining the configured fileDir with the remote file name exactly as returned by the Azure SDK - without lexical normalization or any boundary check - meaning a remote path name containing parent-directory segments (e.g., '../../etc/cron.d/payload') resolves outside fileDir. Depending on what the Camel process can write, this integrity violation can escalate to code execution or service disruption. No active exploitation has been identified at time of analysis, and vendor-released patches are available in versions 4.14.9, 4.18.4, and 4.22.0.

RemediationAI

The primary fix is to upgrade Apache Camel to a patched release: 4.14.9 for deployments on the 4.14.x LTS stream, 4.18.4 for the 4.18.x stream, or 4.22.0 for the 4.19.x/mainline stream. Full advisory at https://camel.apache.org/security/CVE-2026-60093.html. For deployments that cannot upgrade immediately, Apache recommends two workarounds with specific trade-offs. First, configure the regex endpoint option on the camel-azure-storage-datalake consumer with a pattern that matches only single-segment path names (e.g., a regex that rejects any string containing '/' or '..'), which causes the consumer to skip any path item whose name carries traversal segments before an Exchange is created; this approach is effective but may filter legitimate files if file names contain characters the regex is not designed to pass. Second, avoid the downloadToFile operation entirely on untrusted filesystems and instead write the downloaded payload from within the route using a file name that the route itself controls, rather than one derived from the remote listing; this eliminates the traversal surface but requires route redesign. As defense in depth, treat all object names in any externally writable Data Lake filesystem as untrusted input, and do not derive local filesystem paths from them. Restrict the Camel process service account to a minimal write-permission footprint to limit blast radius if exploitation occurs.

Affected VersionsENISA

Apache Camel 4.0.0 <4.14.9
Apache Camel 4.15.0 <4.18.4
Apache Camel 4.19.0 <4.22.0

Affected Packages

maven org.apache.camel:camel-azure-storage-datalake fix: 4.14.9, 4.18.4, 4.22.0
euvd apache_camel fix: 4.14.9, 4.18.4, 4.22.0

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 is a widely used Java-based integration framework implementing Enterprise Integration Patterns (EIPs). The camel-azure-storage-datalake component provides a consumer and producer for Azure Data Lake Storage Gen2. In the vulnerable path, DataLakeConsumer.createBatchExchangesFromPath enumerates files in the configured Data Lake filesystem using the Azure SDK, creating one Camel Exchange per path using PathItem.getName() verbatim - with no name filtering applied by default. When the route invokes the downloadToFile operation, DataLakeFileOperations.downloadToFile constructs the local target path as new File(fileDir, fileClientWrapper.getFileName()) and passes it directly to the SDK download call. Java's File constructor does not normalize the resulting path, so a remote name containing '../' sequences resolves to a location outside fileDir. CWE-23 (Relative Path Traversal) is the root cause: the code trusts an externally supplied path component as a safe local path segment. Notably, camel-file, camel-ftp, camel-smb, camel-mina-sftp, and camel-azure-files all perform a path-segment boundary check on their local download targets; this check was not applied to the Azure Data Lake download path. Affected CPE: cpe:2.3:a:apache_software_foundation:apache_camel:*:*:*:*:*:*:*:* for version ranges 4.0.0-4.14.8, 4.15.0-4.18.3, and 4.19.0-4.21.x.

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

Vendor (apache) PRIMARY 5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 8.5 HIGH

PR:L because attacker needs write access to the Azure Data Lake account; S:C and I:H because arbitrary file writes outside fileDir can affect system integrity beyond the vulnerable component.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:L/SC:N/SI:H/SA:L

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Aug 24, 2026 - 17:02 EUVD

DescriptionCVE.org

Relative path traversal vulnerability in Apache Camel Azure-Storage Datalake component

This issue affects Apache Camel: from 4.0.0 before 4.14.9, from 4.15.0 before 4.18.4, from 4.19.0 before 4.22.0.

The camel-azure-storage-datalake component can download an Azure Data Lake Storage Gen2 file to the local filesystem through its downloadToFile operation, writing into the directory named by the fileDir endpoint option. DataLakeFileOperations.downloadToFile built the local target by joining fileDir with the remote path name exactly as the Azure SDK reported it (new File(fileDir, fileClientWrapper.getFileName())) and passed the result straight to the SDK download call, with no lexical normalization and no check that the resolved location stayed inside fileDir. The remote name is not route-controlled data: the consumer enumerates the filesystem in DataLakeConsumer.createBatchExchangesFromPath, which lists paths and creates one exchange per entry from PathItem.getName() verbatim, applying no name filtering by default. A path name containing parent-directory segments therefore resolved to a location outside the configured fileDir, letting anyone able to influence the names present in the consumed Data Lake filesystem cause Camel to create or overwrite a file at a location of their choosing, with the privileges of the Camel process. Depending on what the process can write to, overwriting a file outside the download directory can escalate beyond the loss of integrity of that file. The fileDir option is an ordinary common-group configuration parameter and carries no security marker, so nothing signalled to users that its value was not being enforced as a containment boundary. Camel's other file-download consumers - camel-file, camel-ftp, camel-smb, camel-mina-sftp and camel-azure-files - already constrained their local downloads to the configured directory using a path-segment boundary check; the camel-azure-storage-datalake download path was not covered by that work.

Users are recommended to upgrade to version 4.22.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.9. If users are on the 4.18.x releases stream, then they are suggested to upgrade to 4.18.4. For deployments that cannot upgrade immediately, constrain the names the consumer will act on using the regex endpoint option, which is applied to each listed path name as a full-string match, so that only simple single-segment names are accepted and any name carrying a path separator or a parent-directory segment is filtered out before an exchange is created. Alternatively, avoid the downloadToFile operation on untrusted filesystems and write the payload from the route under a file name the route itself controls, rather than one taken from the remote listing. As defence in depth, treat the object names in any externally writable Data Lake filesystem as untrusted input and do not derive local filesystem paths from them.

Threat Intelligence Overview

EPSS Score
0.3%
Top 84% exploitable
Prevalence
Medium
Apache Camel widely deployed, but Azure Data Lake component is optional
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

CVE-2026-33453 CRITICAL POC
10.0 Apr 27

Remote 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)

CVE-2026-40858 HIGH POC
8.8 Apr 27

Unsafe Java deserialization in Apache Camel's camel-infinispan component allows arbitrary code execution when the ProtoS

CVE-2026-78162 CRITICAL
10.0 Oct 19

Unauthenticated remote code execution affects the camel-hazelcast component of Apache Camel 4.0.0 through 4.18.4 and 4.1

CVE-2026-71300 CRITICAL
9.8 Aug 24

Header-injection in the Apache Camel camel-atmosphere-websocket producer lets an external sender hijack WebSocket messag

CVE-2026-78329 CRITICAL
9.8 Aug 24

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

CVE-2026-47323 CRITICAL
9.8 May 19

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

CVE-2026-33454 CRITICAL
9.4 Apr 27

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

CVE-2026-46590 HIGH
8.8 Jul 06

Remote code execution via unsafe Java deserialization affects the camel-pqc component of Apache Camel 4.18.0-4.18.2 and

CVE-2026-27172 HIGH
8.8 Apr 27

Unsafe Java deserialization in Apache Camel's camel-consul component (ConsulRegistry / ConsulRegistryUtils.deserialize)

CVE-2026-88900 HIGH
8.8 Oct 19

Unauthenticated deserialization of attacker-controlled messages in Apache Camel's camel-jgroups consumer can lead to rem

CVE-2026-83531 HIGH
8.8 Oct 19

Expression language injection in the Apache Camel dynamic-router-control endpoint allows a party who can place a message

CVE-2026-78165 HIGH
8.8 Oct 19

Deserialization of untrusted data in the Apache Camel Spring Redis component (camel-spring-redis) allows an authenticate

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy