Skip to main content

Apache Airflow SFTP Provider CVE-2026-50203

| EUVDEUVD-2026-37520 CRITICAL
Path Traversal (CWE-22)
Critical
Disputed · 9.1 CISA-ADP
Share

Severity by source

Sources disagree (Medium–Critical)
Vendor (CNA) PRIMARY
MEDIUM
qualitative
CISA-ADP
9.1 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
vuln.today AI
6.8 MEDIUM

Network vector because the attack originates from a remote SFTP server; AC:H because attacker must control or compromise that server; S:C because file writes escape the intended destination scope; C:N as no data exfiltration is described.

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

vuln.today treats the vendor’s rating as authoritative. A higher third-party CVSS (e.g. CISA-ADP) is shown for transparency but does not drive the headline severity.

CVSS VectorCISA-ADP

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
None

Lifecycle Timeline

2
Patch available
Jun 17, 2026 - 03:01 EUVD
Analysis Generated
Jun 16, 2026 - 14:16 vuln.today

Description PRE-NVD

Disclosed via oss-security. NVD scoring and full description are pending.

AnalysisAI

Path traversal in Apache Airflow SFTP provider (apache-airflow-providers-sftp before 5.8.1) allows a malicious or compromised remote SFTP server to write files outside the configured local destination directory on the Airflow worker host. The root cause is that SFTPHook.retrieve_directory does not sanitize server-supplied directory-entry names before constructing local file paths, enabling traversal sequences to escape the intended destination. No exploit code has been publicly identified at time of analysis, but the attack requires no Airflow credentials - any deployment that downloads directories from an untrusted SFTP server is in scope.

Technical ContextAI

The vulnerability resides in the SFTPHook.retrieve_directory method (also exposed via SFTPOperator with operation=get) within the apache-airflow-providers-sftp package. When Airflow retrieves a remote directory, it iterates over filenames returned by the SFTP server and constructs local destination paths by joining the configured base directory with the server-supplied entry names. Without stripping path traversal sequences such as '../' or absolute path prefixes from server-controlled filenames, an attacker-controlled server can dictate write locations anywhere on the host filesystem. The root cause class is path traversal (CWE-22), with the trust boundary violation being that the code treats server-supplied filenames as safe relative identifiers when they can contain directory separators. No CPE string was provided in the source data, but the affected package is the PyPI package apache-airflow-providers-sftp, versions prior to 5.8.1.

RemediationAI

Upgrade the apache-airflow-providers-sftp package to version 5.8.1 or later; this is the vendor-confirmed fix version stated in the oss-security advisory (https://seclists.org/oss-sec/2026/q2/941). The upstream fix is tracked in GitHub pull request #67985 (https://github.com/apache/airflow/pull/67985). If immediate upgrade is not feasible, a targeted compensating control is to avoid using SFTPOperator with operation=get against any SFTP server not under full organizational control - restrict DAGs to single-file transfers (operation=get on individual files) rather than directory downloads, as the path traversal is specific to the directory retrieval code path. Alternatively, restrict SFTP server endpoints to a known-good allowlist at the network layer and ensure the SFTP servers themselves are hardened against compromise. Note that the workarounds involve workflow redesign and do not patch the underlying sanitization flaw; upgrade to 5.8.1 is the definitive fix.

Share

CVE-2026-50203 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy