CVE-2020-13927
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
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
apache-airflowPyPI | < 1.10.11 | 1.10.11 |
Affected products
1- Apache/Airflowdescription
Patches
29e305d6b810aChange default auth for experimental backend to deny_all (#9611)
3 files changed · +24 −4
airflow/config_templates/config.yml+4 −2 modified@@ -574,11 +574,13 @@ options: - name: auth_backend description: | - How to authenticate users of the API + How to authenticate users of the API. See + https://airflow.apache.org/docs/stable/security.html for possible values. + ("airflow.api.auth.backend.default" allows all requests for historic reasons) version_added: ~ type: string example: ~ - default: "airflow.api.auth.backend.default" + default: "airflow.api.auth.backend.deny_all" - name: lineage description: ~ options:
airflow/config_templates/default_airflow.cfg+4 −2 modified@@ -311,8 +311,10 @@ endpoint_url = http://localhost:8080 fail_fast = False [api] -# How to authenticate users of the API -auth_backend = airflow.api.auth.backend.default +# How to authenticate users of the API. See +# https://airflow.apache.org/docs/stable/security.html for possible values. +# ("airflow.api.auth.backend.default" allows all requests for historic reasons) +auth_backend = airflow.api.auth.backend.deny_all [lineage] # what lineage backend to use
UPDATING.md+16 −0 modified@@ -1421,6 +1421,22 @@ Now the `dag_id` will not appear repeated in the payload, and the response forma } ``` +### Experimental API will deny all request by default. + +The previous default setting was to allow all API requests without authentication, but this poses security +risks to users who miss this fact. This changes the default for new installs to deny all requests by default. + +**Note**: This will not change the behavior for existing installs, please update check your airflow.cfg + +If you wish to have the experimental API work, and aware of the risks of enabling this without authentication +(or if you have your own authentication layer in front of Airflow) you can get +the previous behaviour on a new install by setting this in your airflow.cfg: + +``` +[api] +auth_backend = airflow.api.auth.backend.default +``` + ## Airflow 1.10.10 ### Setting Empty string to a Airflow Variable will return an empty string
180bca4f993bChange default auth for experimental backend to deny_all (#9611)
3 files changed · +24 −4
airflow/config_templates/config.yml+4 −2 modified@@ -524,11 +524,13 @@ options: - name: auth_backend description: | - How to authenticate users of the API + How to authenticate users of the API. See + https://airflow.apache.org/docs/stable/security.html for possible values. + ("airflow.api.auth.backend.default" allows all requests for historic reasons) version_added: ~ type: string example: ~ - default: "airflow.api.auth.backend.default" + default: "airflow.api.auth.backend.deny_all" - name: lineage description: ~ options:
airflow/config_templates/default_airflow.cfg+4 −2 modified@@ -274,8 +274,10 @@ endpoint_url = http://localhost:8080 fail_fast = False [api] -# How to authenticate users of the API -auth_backend = airflow.api.auth.backend.default +# How to authenticate users of the API. See +# https://airflow.apache.org/docs/stable/security.html for possible values. +# ("airflow.api.auth.backend.default" allows all requests for historic reasons) +auth_backend = airflow.api.auth.backend.deny_all [lineage] # what lineage backend to use
UPDATING.md+16 −0 modified@@ -73,6 +73,22 @@ Before 1.10.11 it was possible to edit DagRun State in the `/admin/dagrun/` page In Airflow 1.10.11+, the user can only choose the states from the list. +### Experimental API will deny all request by default. + +The previous default setting was to allow all API requests without authentication, but this poses security +risks to users who miss this fact. This changes the default for new installs to deny all requests by default. + +**Note**: This will not change the behavior for existing installs, please update check your airflow.cfg + +If you wish to have the experimental API work, and aware of the risks of enabling this without authentication +(or if you have your own authentication layer in front of Airflow) you can get +the previous behaviour on a new install by setting this in your airflow.cfg: + +``` +[api] +auth_backend = airflow.api.auth.backend.default +``` + ## Airflow 1.10.10 ### Setting Empty string to a Airflow Variable will return an empty string
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
12- github.com/advisories/GHSA-hhx9-p69v-cx2jghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2020-13927ghsaADVISORY
- packetstormsecurity.com/files/162908/Apache-Airflow-1.10.10-Remote-Code-Execution.htmlghsaWEB
- packetstormsecurity.com/files/174764/Apache-Airflow-1.10.10-Remote-Code-Execution.htmlghsaWEB
- airflow.apache.org/docs/apache-airflow/1.10.11/security.htmlghsaWEB
- github.com/apache/airflow/commit/180bca4f993b7b778a8d2c65d3d357652218922bghsaWEB
- github.com/apache/airflow/commit/9e305d6b810a2a21e2591a80a80ec41acb3afed0ghsaWEB
- github.com/apache/airflow/pull/9611ghsaWEB
- github.com/apache/airflow/releases/tag/1.10.11ghsaWEB
- github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2020-18.yamlghsaWEB
- lists.apache.org/thread.html/r23a81b247aa346ff193670be565b2b8ea4b17ddbc7a35fc099c1aadd%40%3Cdev.airflow.apache.org%3EghsaWEB
- www.cisa.gov/known-exploited-vulnerabilities-catalogghsaWEB
News mentions
0No linked articles in our index yet.