Skip to main content

Apache Camel EUVDEUVD-2026-104220

| CVE-2026-79983 HIGH
Path Traversal (CWE-22)
2026-10-19 apache GHSA-vqcr-73j4-7wxf
7.4
CVSS 3.1 · Vendor: apache
View

Attack ChainAIDerived

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

  1. Access
    Operate malicious/on-path FTP server
  2. Delivery
    Return LIST entry with traversal segments
  3. Exploit
    Camel concatenates remote path without normalization
  4. Execution
    Consumer resolves path outside polled directory
  5. Impact
    Read, delete or rename files with 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

Requires a Camel route using the ftp, ftps, or sftp remote-file CONSUMER polling a directory on a server whose LIST response the attacker can influence - by running/compromising that server, occupying an on-path position on the plaintext FTP control channel (which carries no integrity protection), or exploiting a malicious multi-tenant or virtual-filesystem backend. File RETRIEVAL is reachable in the default consumer configuration since consumers download every listed file; DELETION additionally requires delete=true (GenericFileDeleteProcessStrategy), and RENAMING requires move, preMove, moveFailed, or readLock=rename - all common dispositions. Key limiting/clarifying factors: escape from the polled directory is unconditional, but escape past the server account's own boundary depends on whether that server confines the account; and critically, the jailStartingDirectory option - enabled by default and documented as restricting Camel to the starting directory - did NOT constrain this remote operand, so operators cannot rely on it as a mitigation. Producer endpoints and local-file consumers are not affected.

Impact

CVSS 7.4 (High) with vector AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N: network-reachable, no privileges or user interaction, but AC:H correctly reflects that exploitation is not attacker-initiated against Camel directly - it requires the attacker to control the content of the remote server's LIST response, either by operating/compromising the FTP server, occupying an on-path position on the unauthenticated FTP control channel, or leveraging a malicious multi-tenant/virtual-filesystem server. No EPSS score, KEV listing, or POC flag was provided in the input, and the CVE is not in CISA KEV, so there is no public exploit identified at time of analysis - though the reporter privately demonstrated it end-to-end against an ftp endpoint. The combined signals point to a targeted rather than mass-scannable issue: this is a real priority for deployments whose Camel ftp/ftps/sftp consumers poll untrusted, external, or multi-tenant servers (or traverse untrusted network paths), but materially lower urgency where consumers only poll trusted, internal, TLS-protected servers. Note the PR:N rating can mislead: no Camel-side credentials are needed, but the practical attacker must still influence the server's directory listing, which is the true gating condition. Patch promptly where the trust boundary includes the polled server or network path.

Exploit ScenarioDerived

An attacker operating a malicious or compromised FTP server (or positioned on-path on the integrity-free FTP control channel) returns a directory-listing entry whose name is not a single path segment but contains parent-directory traversal, e.g. '../../etc/passwd'. Apache Camel's remote-file consumer concatenates the configured polling directory with this name without lexical normalization or containment checking, then retrieves - and, if delete/move/readLock=rename options are set, deletes or renames - the resolved file outside the polled directory using the endpoint's own credentials. No public exploit code exists, but the reporter demonstrated the full chain against a Camel ftp route driven by a malicious server.

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

Apache Camel's ftp, ftps and sftp remote-file consumers build each file's remote path by concatenating the polled directory with the name returned in the server's directory listing, without any lexical normalization or containment check, so a listing entry containing parent-directory segments resolves outside the configured directory and is then read, deleted or renamed with the endpoint's own credentials. Affected are Camel 4.0.0 through 4.18.4, 4.19.0 through 4.22.0, and earlier; the 4.14.x stream is end-of-life and unfixed, while patches ship in 4.18.5, 4.22.1 and 4.23.0 (CPE: apache_software_foundation:apache_camel). Retrieval is reachable in a default consumer route, whereas deletion needs delete=true and renaming needs move, preMove, moveFailed or readLock=rename; the crucial caveat is that the jailStartingDirectory option, on by default and documented as confining Camel to the starting directory, does not constrain this remote path, so it cannot be used as a mitigation. There is confirmed no active exploitation tracked (not in CISA KEV) and no public exploit code identified at time of analysis, although the reporter privately demonstrated the issue end to end against an FTP endpoint; CVSS 7.4 with AC:H reflects that the attacker must first control or influence the remote server's LIST response rather than attack Camel directly.

RemediationAI

Vendor-released patch: upgrade to Apache Camel 4.23.0; users on the 4.22.x stream should move to 4.22.1 and users on the 4.18.x LTS stream to 4.18.5, per https://camel.apache.org/security/CVE-2026-79983.html. The 4.14.x stream reached end of life and will not receive the fix, so those users must migrate to a supported stream. The fixes are visible in https://github.com/apache/camel/pull/25730, https://github.com/apache/camel/pull/25745, https://github.com/apache/camel/pull/25746 and https://github.com/apache/camel/pull/25747. Do not treat jailStartingDirectory as a workaround - it is enabled by default and, per the advisory, did not constrain the remote operand, so enabling it changes nothing for this flaw. Actionable compensations where upgrading is delayed: switch plaintext ftp:// consumers to ftps:// or sftp:// so the control channel gains integrity protection (this defeats the on-path LIST-rewriting vector but not a malicious or compromised server, which can still name files directly); restrict remote consumers to servers you operate or single-tenant backends you trust, and treat multi-tenant or virtual-filesystem FTP endpoints as untrusted; run the consumer account with the minimum filesystem permissions on the server so that an escape past the polled directory cannot reach sensitive data - this limits blast radius only and does nothing when the server does not confine the account; drop delete=true, move, preMove, moveFailed and readLock=rename from consumers polling untrusted servers, which removes the destructive delete/rename paths at the cost of leaving stale files in place and losing exclusive-read locking; and monitor or alert on listing entries containing '/' or '..' in Camel consumer logs, since the patched code logs 'Skipping file as it resolves outside the starting directory'. Organizations able to patch promptly should simply upgrade, as no configuration-level fix exists in the unpatched code.

Affected VersionsENISA

Apache Camel 4.19.0 <4.22.1
Apache Camel 4.0.0 <4.18.5

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 flaw is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) in the shared remote-file consumer machinery rather than in a single protocol client. FtpUtils.absoluteFilePath and GenericFileConsumer join the configured polling directory with the raw filename reported by the server's LIST/NLST response and pass the unnormalized result - surfaced as GenericFile.getAbsoluteFilePath() - to every subsequent remote operation: FtpOperations.retrieveFile and the SFTP equivalents, GenericFileDeleteProcessStrategy when delete=true, and GenericFileProcessStrategySupport / GenericFileRenameExclusiveReadLockStrategy when move, preMove, moveFailed or readLock=rename is set. Neither isValidFile nor isMatched performed a containment test, so a listing entry that is not a single path segment escapes the poll boundary. The trust model is the interesting part: a listing name is not route-controlled data but server-supplied, and the FTP control channel carries no integrity protection, so an on-path attacker can rewrite a LIST response without any credentials; a compromised, malicious or multi-tenant server, or a virtual-filesystem backend, can emit such a name directly. The vector AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N encodes exactly that - no privileges or interaction on the Camel side, but a high-attack-complexity prerequisite of influencing the remote server. The upstream patch adds an overridable isWithinStartingDirectory hook consulted in GenericFileConsumer when jailStartingDirectory is enabled, generalizes GenericFileHelper.isWithinDirectory to take an explicit separator (remote paths always use '/' regardless of host platform), and rejects paths that still compact to '..' or start with '../'. This mirrors earlier hardening of the localWorkDirectory download path, which had already been constrained so a hostile remote filename could not resolve outside the local work directory; the remote operand was the remaining half of that surface. Producer endpoints and local-file consumers are unaffected because names from a local listing are always single path segments.

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

AC:H as the attacker must control the remote server's listing (malicious/compromised server or on-path MITM); PR:N since no Camel credentials are needed; C:H/I:H for reads plus deletes/renames, A:N.

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 FTP 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 ftp, ftps and sftp schemes, all of which are affected. The reporter demonstrated the issue end to end against an ftp endpoint, driving a Camel route with a malicious server whose LIST response named a file outside the polled directory.

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 FTP, FTPS, and SFTP file-consumption routes can be manipulated into reading, deleting, or renaming files outside the intended directory, affecting teams running Camel 4.0.0 through 4.18.4, 4.19.0 through 4.22.0, and earlier releases. Because the exposure leverages the integration endpoint's own credentials, a malicious or compromised file server could reach sensitive files with whatever permissions Camel has been granted. Leadership should prioritize inventory and remediation of external or partner-facing Camel file integrations, and should note that the built-in jailStartingDirectory safeguard does not prevent this issue.

Business Impact: High
Compensating Controls

Apply vendor patch. In the interim, restrict FTP/FTPS/SFTP endpoint credentials to least privilege, disable delete=true and move/preMove/moveFailed/readLock=rename options on untrusted feeds, and monitor for anomalous file access; jailStartingDirectory does not mitigate this vulnerability.

Threat Intelligence Overview

Prevalence
Medium
common Java enterprise integration framework, not universally deployed
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