ZeroHour

CVE-2020-13927

KEV PoC ×2moderate

Authentication Bypass in Apache Airflow's Experimental API

CISA: Apache Airflow's Experimental API Authentication Bypass

CVSS 3.1
9.8 critical
EPSS
100%p100
Published
()
KEV added
AI analysis

Apache Airflow versions before 1.10.11 shipped with an insecure default for its Experimental API, which accepted all incoming requests with no authentication (CWE-306). An attacker who can reach the API over the network exploits it simply by sending unauthenticated requests — no credentials, special conditions, or user interaction are required. Successful abuse grants full unauthenticated access to the Experimental API's endpoints, and the two public PoCs demonstrate that on Airflow 1.10.10 this unauthenticated access leads to remote code execution. Any Airflow deployment predating 1.10.11 is affected, and even instances upgraded to 1.10.11 or later can remain exposed if they retained the old permissive API configuration, since the new deny-all default only protects fresh installs. The flaw is confirmed exploited in the wild: CISA added it to the Known Exploited Vulnerabilities Catalog on 2022-01-18, and EPSS assigns a 99.8% probability of exploitation within 30 days.

What to do: Upgrade to Apache Airflow 1.10.11 or later and, critically, set [api] auth_backend = airflow.api.auth.backend.deny_all (or another authenticating backend) in airflow.cfg on existing installs, since upgrading alone does not fix retained configurations. Restrict network access to the Airflow webserver/API and verify the Experimental API cannot be reached without credentials. Per CISA's KEV required action, apply updates per vendor instructions.

Affected
apache airflowVersions prior to 1.10.11 with the Experimental API using the default permissive (no-auth) configuration; installs upgraded to 1.10.11 or later also remain affe
Estimated exposure
moderate≈ a few thousand internet-exposed Apache Airflow instances; total self-hosted deployments plausibly in the tens of thousands, of which unpatched/default-config… — Public internet-exposure scans of the Airflow webserver/API surface thousands of reachable instances, and Airflow's broad self-hosted enterprise adoption implies a larger uncounted install base, so the countable exposure sits in the low…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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 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

CISA Known Exploited Vulnerability
Affected
Apache Airflow's Experimental API
Required action
Apply updates per vendor instructions.
Due date
Ransomware use
Unknown
Vendors
apache
Products
airflow
Weakness
CWE-306, CWE-1188, CWE-1056
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

In the news