Skip to main content

Apache Camel EUVDEUVD-2026-104216

| CVE-2026-79986 HIGH
Path Traversal (CWE-22)
2026-10-19 apache GHSA-pw2m-67gx-9wx2
7.4
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

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

  1. Access
    Gain on-path or malicious-server control of directory listing
  2. Delivery
    Return crafted listing entry with '../' segments
  3. Exploit
    Camel concatenates name without normalization
  4. Execution
    Consumer resolves path outside polling directory
  5. Impact
    Read/delete/rename file using endpoint credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK

2 techniques across 2 tactics: Discovery, Collection

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires a Camel remote-file consumer (azure-files, or the FTP/SFTP consumers sharing the RemoteFileConsumer base class) actively polling a remote directory - retrieval is reachable in the DEFAULT consumer configuration because consumers download every listed file. The attacker must be able to control the directory-listing name returned by the server: an on-path attacker on the FTP control channel (which has no integrity protection) can rewrite a LIST response without credentials, or a compromised, malicious, multi-tenant, or virtual-filesystem-backed server can emit the crafted name directly. For deletion or renaming (versus mere read), the route must additionally set a disposition option - delete=true, move, preMove, moveFailed, or readLock=rename - all described as common. KEY LIMITING FACTORS: for the azure-files scheme named in this CVE, the Azure Files REST service does not normally return multi-segment listing names, so triggering it there is impractical; the jailStartingDirectory option (enabled by default) did NOT constrain this remote operand before the fix, so it offered no protection; and the required listing-control position is a non-trivial prerequisite reflected in AC:H.

Impact

The official CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N, 7.4 HIGH) is internally coherent with the described mechanism: exploitation is remote and requires no Camel-side credentials (PR:N), but hinges on an attacker-controllable condition - either an on-path position on the integrity-free FTP control channel, or a compromised/malicious/multi-tenant/virtual-filesystem server that emits a crafted listing name - which correctly justifies AC:H. No EPSS score, KEV listing, or POC was provided; the vendor advisory itself states the azure-files exposure was 'corrected on the same basis as the other remote-file consumers rather than from a demonstrated proof of concept,' so there is no public exploit identified at time of analysis. A critical nuance specific to THIS CVE: it covers the azure-files scheme, and the advisory notes the Azure Files REST service 'does not normally return' multi-segment listing names, making practical exploitation of this particular component substantially harder than the raw 7.4 suggests - this is largely a defense-in-depth hardening of an inherited base-class flaw rather than a demonstrated attack against azure-files. The more exploitable instances of the same root cause live in the FTP/SFTP consumers. Net: a real but not urgent issue - no evidence of active or widespread exploitation, elevated complexity, and a narrow trigger condition for the named component. Treat as a patch-on-schedule item, prioritizing FTP/SFTP Camel deployments over azure-files-only ones.

Exploit ScenarioDerived

An organization runs an Apache Camel route whose azure-files (or FTP/SFTP) consumer polls a remote directory and downloads every listed file using the endpoint's credentials. An attacker who can influence the directory-listing response - by sitting on-path on the unencrypted FTP control channel or by controlling a malicious/multi-tenant backing server - returns an entry such as '../../secret.txt' instead of a plain filename. Camel concatenates this verbatim without normalization or containment checks, so it reads (and, if delete/move/readLock=rename disposition options are set, deletes or renames) files outside the configured polling directory; no public exploit code exists and the attack requires the privileged listing-control position (AC:H).

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

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

Alert me

AnalysisAIv1 – Oct 19, 2026

Path traversal in Apache Camel's remote-file consumers - the azure-files scheme named in this CVE plus the FTP/SFTP consumers sharing the RemoteFileConsumer base class - lets a malicious, compromised, or multi-tenant remote file server (or an on-path attacker on the integrity-free FTP control channel) cause Camel to read, delete, or rename files outside the directory it was configured to poll, using the endpoint's own credentials. Retrieval is reachable in the default consumer configuration because remote consumers download every listed file; deletion and renaming additionally require delete=true, move, preMove, moveFailed, or readLock=rename. The jailStartingDirectory option, enabled by default and documented as a boundary, did not constrain this remote operand before the fix, so it offered no protection; triggering the traversal requires control over a listing name returned by the server, and for azure-files specifically the Azure Files REST service does not normally return multi-segment names, making exploitation there impractical. No public exploit code or confirmed active exploitation was identified at time of analysis; vendor patches are available.

RemediationAI

Vendor-released patch: upgrade to Apache Camel 4.23.0; users on the 4.22.x stream should upgrade to 4.22.1 and users on the 4.18.x LTS stream to 4.18.5, while anyone still on the end-of-life 4.14.x stream must move to a supported stream. The fix is delivered through upstream PRs 25730, 25745, 25746, and 25747 (see https://camel.apache.org/security/CVE-2026-79986.html and https://issues.apache.org/jira/browse/CAMEL-24487). Because jailStartingDirectory did not constrain the remote operand before the fix, no simple configuration toggle removes the exposure on unpatched versions; compensating controls must instead address the untrusted listing source. Where possible, replace plain FTP with FTPS or SFTP so the control channel is integrity-protected and an on-path attacker can no longer rewrite LIST responses (trade-off: requires server-side TLS/SSH support and certificate or host-key management, and does not help against a genuinely compromised or malicious server). Point remote-file consumers only at single-tenant, trusted servers, since a shared or virtual-filesystem-backed server can emit crafted names directly (trade-off: architectural change, not feasible for multi-tenant integrations). Finally, remove delete=true, move, preMove, moveFailed, and readLock=rename from affected routes so that a traversal can at worst cause out-of-directory reads rather than deletion or renaming of files outside the polled directory (trade-off: loses post-processing and exclusive-read semantics that some routes depend on).

Affected VersionsENISA

Apache Camel 4.0.0 <4.18.5
Apache Camel 4.19.0 <4.22.1

Affected Packages

euvd apache_camel fix: 4.18.5, 4.22.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory). Camel's remote-file consumers poll a directory on a remote server and build each file's absolute remote path by concatenating the configured directory with the file name reported in the server's directory listing - a plain string concatenation via FtpUtils.absoluteFilePath and GenericFileConsumer with no lexical normalization and no containment check on the result. That unvalidated path then becomes the operand for every subsequent remote operation: retrieval (FtpOperations.retrieveFile / SftpOperations, reached from GenericFileConsumer where the retrieve name is taken verbatim from GenericFile.getAbsoluteFilePath), deletion when delete=true (GenericFileDeleteProcessStrategy), and renaming when move, preMove, moveFailed, or readLock=rename is configured (GenericFileProcessStrategySupport and GenericFileRenameExclusiveReadLockStrategy). Neither isValidFile nor isMatched performed any containment check, so a listing entry that is not a single path segment (e.g. one containing ../) resolved outside the polled directory. Crucially the listing name is not route-controlled data - it is supplied by the remote server, and the FTP control channel carries no integrity protection, so an on-path attacker can rewrite a LIST response without holding any credentials. The same surface had already been closed on the local side when the localWorkDirectory download path was constrained against parent-directory segments; this CVE is the remote half. The upstream fix adds an isWithinStartingDirectory() strategy to GenericFileConsumer consulted when jailStartingDirectory is enabled, plus a separator-aware GenericFileHelper.isWithinDirectory() that compacts paths and rejects targets that still resolve upwards, with remote callers passing '/' rather than the platform separator.

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 7.4 HIGH
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI 7.4 HIGH

Remote and unauthenticated (AV:N/PR:N), but AC:H because the attacker must hold an on-path position or control the listing server; C:H/I:H for read plus delete/rename of out-of-directory files, A:N as no service-availability loss is described.

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

Primary rating from Vendor (apache).

CVSS VectorVendor: apache

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

DescriptionCVE.org

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in Apache Camel Azure Files component.

This issue affects Apache Camel: from 4.0.0 before 4.18.5, from 4.19.0 before 4.22.1.

The Camel remote-file consumers poll a directory on a remote server and build the absolute remote path of each file by concatenating the configured directory with the file name reported in the server's directory listing. That concatenation (FtpUtils.absoluteFilePath and GenericFileConsumer) applied no lexical normalization and no check that the result stayed inside the directory being polled, and the resulting path became the operand for every subsequent remote operation on the file: retrieval (FtpOperations.retrieveFile / SftpOperations, reached from GenericFileConsumer where the retrieve name is taken verbatim from GenericFile.getAbsoluteFilePath), deletion when delete=true (GenericFileDeleteProcessStrategy), and renaming when move, preMove, moveFailed or readLock=rename is configured (GenericFileProcessStrategySupport and GenericFileRenameExclusiveReadLockStrategy). Neither isValidFile nor isMatched performed any containment check. A listing entry that is not a single path segment therefore resolved to a path outside the configured polling directory, causing Camel to read, delete or rename files outside it using the endpoint's own credentials. A listing name is not route-controlled data. It is supplied by the remote server, and the FTP control channel carries no integrity protection at all, so an on-path attacker can rewrite a LIST response without holding any credentials; a compromised, malicious or multi-tenant server, or a server backed by a virtual filesystem, can emit such a name directly. Retrieval is reachable in a default consumer configuration, since the remote consumers download every listed file; deletion and renaming additionally require one of the disposition options above, all of which are common. Escape from the directory Camel was configured to poll is unconditional, while escape from the server's own account boundary additionally depends on whether that server confines the account. The jailStartingDirectory option, which is documented as restricting Camel to the starting directory and is enabled by default, governed producer writes and, since the localWorkDirectory containment work, consumer downloads to the local work directory - but it did not constrain this remote operand, so its name and description claimed a boundary that was not enforced here. The same entry point had already been recognised on the local side: the localWorkDirectory download path was constrained so that a remote file name containing parent-directory segments could not resolve outside the local work directory. The remote operand was the remaining half of that surface. This artifact provides the azure-files scheme. Its consumer derives from the same RemoteFileConsumer base class and composed the remote path through a plain concatenation helper, so it inherited the same unconstrained resolution. Reaching it requires a listing name that is not a single path segment, which the Azure Files REST service does not normally return; the exposure was corrected on the same basis as the other remote-file consumers rather than from a demonstrated proof of concept against this scheme.

Upgrade to Apache Camel 4.23.0, which fixes the issue. Users on the 4.22.x releases stream should upgrade to 4.22.1. Users on the 4.18.x LTS releases stream should upgrade to 4.18.5. The 4.14.x stream reached end of life and does not receive this fix; users on it should move to a supported releases stream.

Executive ViewAI

Why It Matters

Apache Camel's remote-file consumers (azure-files, FTP, and SFTP) contain a high-severity path traversal flaw that can let a malicious, compromised, or multi-tenant remote file server-or an on-path attacker on the FTP control channel-use the application's own credentials to read, delete, or rename files outside the configured polling directory. Organizations relying on these consumers for third-party or multi-tenant file exchange face potential data exposure and integrity loss, especially where delete=true, move, preMove, moveFailed, or readLock=rename are enabled. Leadership should prioritize remediation because the flaw undermines the documented jailStartingDirectory boundary and can turn trusted file-ingestion pipelines into a credential-enabled path to broader filesystem access.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

Prevalence
Medium
Apache Camel is common integration middleware; the azure-files consumer is a niche component
Data Quality
4 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 HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

37
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +37
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