CVE-2020-13927
Access Control in Apache Airflow ≤ 1.10.11
Raw vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HSummary
CVE-2020-13927 is a critical-severity Missing Authentication for Critical Function (CWE-306) vulnerability in Apache Airflow. Its CVSS base score is 9.8 (Critical).
Operationally, exploitation aligns with the MITRE ATT&CK technique Default Accounts (T1078.001); ranked in the top 0.0% of CVEs by exploit likelihood; CISA has added it to the Known Exploited Vulnerabilities catalog; a public proof-of-concept is referenced.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
The vulnerability in CVE-2020-13927 is a missing authentication requirement in the default configuration of Apache Airflow's Experimental API. Prior to version 1.10.11, the API accepted all requests without any authentication backend enabled, exposing the component to unauthenticated access by default on new and existing installations.
An attacker with network access to the Airflow instance can send arbitrary requests to the Experimental API endpoints. This can result in full compromise of the Airflow deployment, including the ability to execute code remotely, as demonstrated by multiple public exploit proofs-of-concept targeting version 1.10.10.
The Apache Airflow project addressed the issue by changing the default setting in 1.10.11 to deny_all requests, documented in the security guide and the 1.10.11 UPDATING.md file. Existing deployments must explicitly configure `[api] auth_backend = airflow.api.auth.backend.deny_all` to apply the fix.
Public exploit code for remote code execution against vulnerable versions has been published on Packet Storm, confirming the issue's practical exploitability.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2020-0037
Vulnerability Data
The previous default setting for Airflow's Experimental API was to allow all API requests without authentication, but this poses security risks to users who miss this fact. From Airflow 1.10.11 the default has been changed to deny all requests by…
more
default and is documented at https://airflow.apache.org/docs/1.10.11/security.html#api-authentication. Note this change fixes it for new installs but existing users need to change their config to default `[api]auth_backend = airflow.api.auth.backend.deny_all` as mentioned in the Updating Guide: https://github.com/apache/airflow/blob/1.10.11/UPDATING.md#experimental-api-will-deny-all-request-by-default
- CWE(s)
- KEV Date Added
- 18 January 2022
Related Threats
MITRE ATT&CK Enterprise Techniques
CVEs Like This One
Affected Assets
Mitigating Controls
Control response
—
—
- 19 hardening rules · 8 OS baselines
V14.3.2V6.3.2V11.3.1V13.2.3
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Disabling non-essential functions and services eliminates the need to secure them, reducing exposure from missing authentication on unnecessary components.
Tailoring replaces or augments insecure default initializations with system-specific values and compensating controls before deployment.
Tools routinely check for missing authentication on critical functions and exposed interfaces.
Training emphasizes enabling and properly using authentication for critical functions, reducing missing authentication exposures.
Secure configuration documentation explicitly addresses enabling authentication for critical functions, reducing missing authentication exposures.
Requires established identification and authentication to unlock, mitigating missing authentication for continued system access.
Requiring identification and rationale for actions allowed without authentication ensures critical functions are not left unprotected by forcing review of authentication requirements.
Authorizing mobile device connections to organizational systems ensures authentication is performed for this critical access function.
Mitigating Controls (NIST CSF 2.0) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.
Directly requires authentication of users/services/hardware, which eliminates missing authentication for critical functions.
Hardened baselines and configuration management directly replace insecure defaults with secure settings.
Secure development practices include designing products with secure defaults rather than insecure ones.
Pre-acquisition integrity checks can reject products known to ship with insecure defaults.
Managing identities and credentials is a prerequisite for authentication but does not itself enforce it on critical functions.
Defining and enforcing authorizations assumes prior authentication and therefore only partially mitigates the absence of authentication.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
The control explicitly calls for authentication before any critical function is reached, eliminating the possibility of bypassing authentication for high-value operations.
Security testing can detect misuse of variadic functions but does not prevent their introduction.
Mandating secure baseline templates and immediate replacement of vendor defaults directly stops systems from being deployed with insecure factory settings that attackers can exploit.
Mandating authentication requirements for critical functions at the requirements-gathering stage ensures that essential operations are not left unprotected by missing login or verification mechanisms.
Mandating authentication for network services and critical functions stops attackers from invoking sensitive operations without credentials, closing gaps where authentication is absent for important capabilities.
Security engineering principles insist on authentication and authorization for every critical function, eliminating entry points that lack any access control mechanism.
Hardening callouts derived
Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).
Oracle Linux 8 (3 rules)
- V-248585 OL 8 must require reauthentication when using the "sudo" command. prevents CWE-306
- V-248823 OL 8 must not have the telnet-server package installed. prevents CWE-1188
- V-248827 OL 8 must not have the rsh-server package installed. prevents CWE-306
RHEL 7 (3 rules)
- V-204627 SNMP community strings on the Red Hat Enterprise Linux operating system must be changed from the default. prevents CWE-1188
- V-204442 The Red Hat Enterprise Linux operating system must not have the rsh-server package installed. prevents CWE-306
- V-237635 The Red Hat Enterprise Linux operating system must require re-authentication when using the "sudo" command. prevents CWE-306
RHEL 8 (2 rules)
- V-230492 RHEL 8 must not have the rsh-server package installed. prevents CWE-306
- V-237643 RHEL 8 must require re-authentication when using the "sudo" command. prevents CWE-306
Ubuntu 22.04 (1 rule)
- V-260529 Ubuntu 22.04 LTS must be configured so that remote X connections are disabled, unless to fulfill documented and validated mission requirements. prevents CWE-1188
Ubuntu 24.04 (1 rule)
- V-270708 Ubuntu 24.04 LTS must be configured so that remote X connections are disabled, unless to fulfill documented and validated mission requirements. prevents CWE-1188
Windows Server 2016 (1 rule)
- V-224972 Active Directory Group Policy objects must have proper access control permissions. prevents CWE-1188
Windows Server 2019 (1 rule)
- V-205741 Windows Server 2019 Active Directory Group Policy objects must have proper access control permissions. prevents CWE-1188