Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain on-path or passive network position
-
ExploitObserve FTPS data connection during transfer
-
ExecutionCapture cleartext file payloads
-
ImpactHarvest exposed data and credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V12 - Secure Communication Transport encryption
|
| Exploitation Conditions | Exploitation requires (1) a deployment running apache-airflow-providers-ftp before 3.15.1 that actually uses FTPSHook or FTPSFileTransmitOperator to move files over FTPS, and (2) an attacker able to observe the data connection - passive sniffing or an on-path/MITM position on the network route between the Airflow worker and the FTPS server. Limiting factors: only FTPS transfers are affected (plain FTP and SFTP/SSH paths are out of scope), the control channel itself remains TLS-protected, and the attacker gains nothing without network observation capability, so fully trusted and segmented transfer paths are not practically exploitable. |
| Impact | Signals point to a genuine but situational confidentiality risk rather than an urgent priority. The provided CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, 7.5) treats exploitation as low-complexity network access, but CWE-319 cleartext exposure realistically requires the attacker to already hold an on-path or passive-sniffing position on the data connection, which is closer to AC:H - the published AC:L likely overstates ease of exploitation. EPSS is very low (0.10%, 1st percentile), there is no KEV listing and no public PoC, all consistent with an information-disclosure weakness that yields nothing without pre-existing network observation. Impact is confidentiality-only (no integrity or availability), so the real-world priority is moderate: meaningful where FTPS traffic crosses untrusted network segments, low where the transfer path is already trusted and segmented. |
| Exploit ScenarioDerived | An attacker with a passive tap or man-in-the-middle position on the network segment between an Airflow worker and its FTPS server captures the data connection while a DAG runs an FTPSFileTransmitOperator task. Because PROT P was never issued, the file payloads and any credentials carried in the transfer are recorded in cleartext. No public exploit code is needed - standard packet capture suffices once the attacker is on-path, consistent with the network attack vector but real-world high complexity of obtaining that position. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv3 – Jun 26, 2026
Cleartext data-channel exposure in the Apache Airflow FTP provider (apache-airflow-providers-ftp before 3.15.1) lets a network attacker positioned on the data path read file contents and credentials moved over FTPS. The FTPSHook.get_conn() method established an ftplib.FTP_TLS control connection but never issued PROT P, so payloads transferred via FTPSHook or FTPSFileTransmitOperator traveled in plaintext despite the TLS-protected control channel. There is no public exploit identified at time of analysis, EPSS is very low (0.10%, 1st percentile), and it is not on CISA KEV.
Earlier versions of this analysis (2)
Cleartext data-channel exposure in the Apache Airflow FTP provider (apache-airflow-providers-ftp before 3.15.1) lets a network attacker observing the FTPS data connection read transferred file contents and any credentials carried in those files. Although FTPSHook.get_conn() established an ftplib.FTP_TLS session, it never issued PROT P, so only the control channel was encrypted while file payloads moved in plaintext. EPSS is very low (0.10%, 1st percentile) and there is no public exploit identified at time of analysis, but the upstream fix (PR #67946) is confirmed and the weakness is a clear-cut CWE-319 information disclosure.
Cleartext data channel exposure in Apache Airflow's FTP provider affects all deployments using FTPSHook or FTPSFileTransmitOperator. Despite establishing a TLS-protected control channel via ftplib.FTP_TLS, the missing prot_p() call left every file transfer payload transmitted over an unencrypted data channel, contradicting the FTPS security model. A network-positioned attacker capable of observing the data connection could intercept full file contents and any credentials embedded in transferred data. No public exploit identified at time of analysis, and the vendor-released fix is available as apache-airflow-providers-ftp 3.15.1.
RemediationAI
Vendor-released patch: 3.15.1 - upgrade apache-airflow-providers-ftp to 3.15.1 or later, which issues PROT P to encrypt the data channel (fix in https://github.com/apache/airflow/pull/67946 ; advisory https://lists.apache.org/thread/gwnsxlt9hfj5pc543wxtogbnjdn04xj1 ). If immediate upgrade is not possible, restrict FTPS transfers to trusted, segmented network paths (for example a private VLAN or a VPN tunnel between the Airflow worker and the FTPS server) so the cleartext data connection cannot be observed, accepting the operational overhead of maintaining those network controls; alternatively migrate the affected DAGs to SFTP via SSHHook/SFTPOperator, which encrypts the full session, noting this requires reconfiguring connections and that the remote endpoint must support SSH. Avoid moving sensitive files over FTPS until patched.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in pypi, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw lives in Python's ftplib FTPS workflow. FTP_TLS protects the control connection automatically, but the separate data connection (used for actual file transfers and directory listings) remains in cleartext until the client explicitly calls prot_p(), which sends the PROT P command to negotiate data-channel encryption. The Airflow FTP provider's FTPSHook.get_conn() omitted this call, leaving every data transfer unencrypted. This is a textbook CWE-319 (Cleartext Transmission of Sensitive Information) root cause, confirmed by the PR diff (apache/airflow#67946) which adds self.conn.prot_p() plus a regression test asserting prot_p is called exactly once. The single affected component is cpe:2.3:a:apache_software_foundation:apache_airflow_ftp_provider.
Know when Apache Airflow Ftp Provider 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:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Attacker needs an on-path or passive position to observe the data channel, so AC:H; confidentiality-only impact (files and credentials), with no integrity or availability effect.
Primary rating from Vendor (apache).
CVSS VectorVendor: apache
Lifecycle Timeline
3DescriptionCVE.org
The Apache Airflow FTP provider's FTPSHook.get_conn() created an ftplib.FTP_TLS connection but never called prot_p(), so although the control channel was TLS-protected the data channel was transmitted in cleartext. Any deployment using FTPSHook or FTPSFileTransmitOperator to move files over FTPS exposed file contents and credentials-in-transit to a network attacker able to observe the data connection. Upgrade apache-airflow-providers-ftp to 3.15.1 or later, which issues PROT P to encrypt the data channel.
Articles & Coverage 1
Executive ViewAI
Apache Airflow's FTP provider contains a configuration flaw that leaves sensitive file contents and authentication credentials vulnerable to network eavesdropping during FTPS transfers. Organizations operating Airflow workflows with FTP integrations risk credential compromise and unauthorized access to transmitted files. Given the potential for downstream access abuse following credential theft, timely patching is essential despite current low exploitation probability.
Apply vendor patch.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-39627
GHSA-fgch-86x8-fv43
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB