CVE-2021-35936 No Authentication on Logging Server
An unauthenticated attacker can read DAG job logs via the default Flask logging server in Apache Airflow.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2021-35936?
CVE-2021-35936 is a medium-severity missing authorization vulnerability in Apache Airflow, published on 16 Aug 2021. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
If remote logging is not used, the worker (in the case of CeleryExecutor) or the scheduler (in the case of LocalExecutor) runs a Flask logging server and is listening on a specific port and also binds on 0.0.0.0 by default. This logging server had no authentication and allows reading log files of DAG jobs. This issue affects Apache Airflow < 2.1.2.
Which versions are affected by CVE-2021-35936?
4 open source packages ship an affected version, including apache-airflow and airflow. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
apache-airflow PyPI | All versions | 2.1.2 |
apache-airflow PyPI | All versions | 2.1.2 |
apache-airflow PyPI | All versions | 2.1.2 |
airflow Bitnami | All versions | 2.1.2 |
Products include Apache Airflow.
How do I fix CVE-2021-35936?
Upgrade apache-airflow to 2.1.2 or later.
Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.
Is CVE-2021-35936 being exploited?
There is no known exploitation of CVE-2021-35936 in the wild and no public exploit code.
Other vulnerabilities in Apache Airflow
- CVE-2020-13927 Apache Airflow's Experimental API Authentication Bypass
- CVE-2020-11978 Apache Airflow Command Injection
- CVE-2026-33264 Apache Airflow: DAG author RCE on webserver via unrestricted import_string() in BaseSerialization.deserialize()
- CVE-2023-25754 Apache Airflow: Privilege escalation using airflow logs
- CVE-2023-22884 Apache Airflow, Apache Airflow MySQL Provider: Arbitrary file read via MySQL provider in Apache Airflow
Sources
Also known as BIT-airflow-2021-35936, GHSA-m6h2-jx9v-58w6, PYSEC-2021-122.