Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessControl malicious server or gain on-path position
-
DeliveryInject traversal segments into directory-listing name
-
ExploitCamel concatenates path with no containment check
-
ExecutionRemote consumer acts on file outside polled directory
-
ImpactRead, delete, or rename files via 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 | The affected Camel route must use an SMB (or other remote-file) consumer that polls a directory on a remote server, and that server must return a directory-listing entry that is NOT a single path segment (i.e. containing traversal segments other than the exact '.'/'..' entries the SMB consumer skips). Because the FTP control channel carries no integrity protection, an on-path attacker can rewrite a LIST response without credentials; alternatively a malicious, compromised, multi-tenant, or virtual-filesystem-backed server can emit such a name directly. File RETRIEVAL is reachable in a DEFAULT consumer configuration (remote consumers download every listed file); DELETION additionally requires delete=true, and RENAMING requires one of move, preMove, moveFailed, or readLock=rename - all common disposition options. Key limiting factors: for the SMB scheme specifically, a conforming SMB2 server will not produce a qualifying listing name, so a non-conforming or attacker-controlled server is required; escape beyond the server's own account boundary further depends on whether that server confines the account; and the jailStartingDirectory option (enabled by default) did NOT constrain this remote operand before the fix, so it offers no pre-patch mitigation here. |
| Impact | The vendor CVSS of 7.4 (AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N) places this in the High band, but the real-world priority is lower than that number alone suggests. The AC:H already encodes the core constraint: exploitation requires either an on-path network position (feasible against FTP, whose control channel has no integrity protection) or control of a malicious, compromised, multi-tenant, or virtual-filesystem-backed server. No EPSS score was provided, there is no CISA KEV listing, and no public exploit exists - the vendor explicitly states the SMB exposure was corrected on the same analytical basis as the other remote-file consumers 'rather than from a demonstrated proof of concept against this scheme.' Critically, this CVE is scoped to the Apache Camel SMB component, and the description notes that triggering it requires a server emitting a directory-listing name that is not a single path segment, 'which a conforming SMB2 implementation does not do' - so against a well-behaved SMB2 server the bug is effectively unreachable, and exploitation presupposes an attacker-controlled or non-conforming server. This is best characterized as a genuine defense-in-depth path-traversal fix (the jailStartingDirectory option documented a containment boundary it did not actually enforce for the remote operand) rather than a widely weaponizable, mass-exploitable flaw. No data signals are directly conflicting, but EPSS is missing and the SMB-specific exploitability is theoretical, so prioritize patching where SMB/remote-file consumers poll untrusted or shared servers, and treat it as routine elsewhere. |
| Exploit ScenarioDerived | An attacker who controls (or is on-path to) an SMB/remote-file server that an Apache Camel route polls returns a directory-listing entry containing parent-directory traversal segments instead of a plain filename. Because Camel concatenates the configured directory with that server-supplied name without lexical normalization or a containment check, the resulting path escapes the polled directory, and Camel then retrieves - or, if delete/move/readLock=rename options are set, deletes or renames - files elsewhere on the server using the endpoint's own credentials. No public exploit exists, and the CVSS AC:H reflects that the attacker must control the server response or occupy an on-path position. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 19, 2026
Path traversal in Apache Camel's remote-file consumers (including the SMB component's share-walking consumer) lets a directory listing entry that is not a single path segment resolve outside the polled remote directory, so Camel will retrieve, delete, or rename files outside that directory using the endpoint's own credentials. Affected are Camel 4.2.0 through 4.18.5-exclusive and 4.19.0 through 4.22.1-exclusive; file retrieval is reachable in a default consumer configuration, while deletion requires delete=true and renaming requires move, preMove, moveFailed, or readLock=rename. The CVSS 3.1 vector (7.4, AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N) reflects unauthenticated reachability over the network with a high attack-complexity prerequisite: the remote server - or an on-path attacker rewriting an unprotected FTP LIST response, or a malicious, compromised, multi-tenant, or virtual-filesystem-backed server - must emit a qualifying listing name; for the SMB scheme a conforming SMB2 server will not do so, and no public exploit identified at time of analysis.
RemediationAI
Upgrade to Apache Camel 4.23.0, which contains the fix; users on the 4.22.x release stream should move to 4.22.1 and users on the 4.18.x LTS stream to 4.18.5, while 4.14.x users must migrate to a supported stream since that line is end-of-life and will not receive the patch. The changes land in the listed pull requests - https://github.com/apache/camel/pull/25730 (GenericFileConsumer/isWithinStartingDirectory and GenericFileHelper.isWithinDirectory separator handling), https://github.com/apache/camel/pull/25745, https://github.com/apache/camel/pull/25746, and https://github.com/apache/camel/pull/25747 - with details in the advisory at https://camel.apache.org/security/CVE-2026-79985.html. Note that no configuration-only workaround is reliable: jailStartingDirectory, though enabled by default, did not constrain this remote operand before the fix, so enabling or trusting it buys nothing pre-patch. Compensating controls must attack the prerequisite instead - stop consuming directories from servers you do not fully control or that are multi-tenant or virtual-filesystem-backed (trade-off: loses legitimate third-party integration), avoid the disposition options that widen impact by removing delete=true and the move/preMove/moveFailed/readLock=rename settings so only retrieval is exposed (trade-off: breaks post-processing, archival, and idempotent-read workflows), and carry FTP over a protected channel or prefer SFTP with host-key verification so a LIST response cannot be rewritten on-path (trade-off: server-side TLS/SSH support and certificate or key management overhead). Restricting the remote account's filesystem permissions to exactly the polled directory limits blast radius regardless of whether the traversal resolves, at the cost of re-validating what the integration legitimately needs to read, delete, and rename.
Affected VersionsENISA
Affected Packages
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
CWE-22 root cause sits in how Camel's remote-file consumers construct the absolute remote path for each listed file: FtpUtils.absoluteFilePath and GenericFileConsumer concatenate the configured poll directory with the file name verbatim from the server's directory listing, with no lexical normalization (FileUtil.compactPath) and no containment check that the result stays inside the polled directory. That unchecked operand then feeds every subsequent remote operation - retrieval (FtpOperations.retrieveFile / SftpOperations from GenericFileConsumer via GenericFile.getAbsoluteFilePath), deletion (GenericFileDeleteProcessStrategy when delete=true), and renaming (GenericFileProcessStrategySupport and GenericFileRenameExclusiveReadLockStrategy for move/preMove/moveFailed/readLock=rename). Neither isValidFile nor isMatched performed containment validation, and the jailStartingDirectory option - documented as restricting Camel to the starting directory and enabled by default - governed producer writes and local-work-directory downloads but not this remote operand, so its advertised boundary was not enforced here. The FTP control channel has no integrity protection, making a rewritten LIST response achievable by an on-path attacker without credentials. The SMB artifact variant is a special case: its consumer walks the share listing directly rather than through RemoteFileConsumer and skipped only the exact '.' and '..' entries, so any other traversal-bearing name was concatenated unchecked. The fix generalizes the earlier localWorkDirectory jailing: GenericFileHelper.isWithinDirectory gains an explicit separator parameter (remote paths always use '/', not File.separatorChar), rejects compacted targets that still begin with '..', and GenericFileConsumer.isWithinStartingDirectory is overridden by remote consumers and consulted only when jailStartingDirectory is enabled.
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:H/PR:N/UI:N/S:U/C:H/I:H/A:N
AV:N and PR:N because an on-path attacker needs no credentials; AC:H because exploitation requires a privileged network position or an attacker-controlled/non-conforming server; C:H/I:H for file read and delete/rename, A:N.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
DescriptionCVE.org
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in Apache Camel SMB component.
This issue affects Apache Camel: from 4.2.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 smb scheme. Its consumer walks the share listing on its own rather than through RemoteFileConsumer, skipping only the exact "." and ".." entries, so a name carrying traversal segments in any other form was concatenated unchecked. Reaching it requires a server that emits a listing name which is not a single path segment, which a conforming SMB2 implementation does not do; 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
Apache Camel's remote-file consumers - including the SMB share-walking consumer - can be induced to read, delete, or rename files outside the directory they are configured to poll, using the integration service's own credentials. Because Camel typically runs as a hub connecting business systems with standing access to shared file stores, a single malformed listing entry can expose or destroy data far beyond the intended share, and file retrieval is reachable in a default consumer configuration. Reachability is unauthenticated over the network but requires a high-complexity precondition (a malicious, compromised, or multi-tenant remote server, or an on-path attacker rewriting an unprotected FTP LIST response), so prioritization should track how many integrations poll remote servers your organization does not fully control.
Apply vendor patch. Interim: remove delete/move/preMove/moveFailed/readLock=rename from affected endpoints and restrict integration egress to trusted file servers.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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-104217
GHSA-cpwx-4xfv-48r6
NVD
CVE.org
Exploit-DB