CVE-2026-79983
Received Received - Intake

Path Traversal in Apache Camel FTP Component

Vulnerability report for CVE-2026-79983, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-19

Last updated on: 2026-10-19

Assigner: Apache Software Foundation

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-19
Last Modified
2026-10-19
Generated
2026-10-19
AI Q&A
2026-10-19
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 2 associated CPEs
Vendor Product Version / Range
Apache Software Foundation Apache Camel 4.0.0
Apache Software Foundation Apache Camel 4.19.0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-22 The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This is a path traversal vulnerability in Apache Camel's FTP, FTPS, and SFTP components. It occurs because the software combines the configured polling directory with file names from a remote server's directory listing without proper validation. This allows attackers to manipulate file names to access files outside the intended directory using the endpoint's credentials.

Detection Guidance

Detecting this vulnerability requires checking Apache Camel FTP, FTPS, or SFTP consumer configurations and logs for unauthorized file operations outside the configured polling directory. Monitor network traffic for suspicious LIST responses or file access attempts. Use log analysis to identify paths containing parent directory segments (e.g., '../') in file names. Validate that the Camel version in use is below 4.18.5, 4.22.1, or 4.23.0.

Impact Analysis

An attacker could force the system to retrieve, delete, or rename files outside the configured polling directory. This could lead to unauthorized data access, data loss, or system compromise, especially if combined with options like delete=true or file renaming.

Compliance Impact

This vulnerability could lead to unauthorized access or deletion of sensitive data, violating compliance requirements for data protection and privacy such as GDPR and HIPAA. Unauthorized file operations may result in data breaches or loss of protected health information.

Mitigation Strategies

Upgrade Apache Camel to version 4.18.5, 4.22.1, or 4.23.0 immediately. If upgrading is not possible, disable destructive operations (delete, move, rename) in the consumer configuration. Use SFTP or FTPS with encrypted transports and apply strict file name filters to reject paths containing parent directory segments. Restrict the consumer's access to the polling directory using filesystem permissions.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-79983. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart