{"id":"CVE-2021-35936","aliases":["BIT-airflow-2021-35936","EUVD-2021-0013","GHSA-m6h2-jx9v-58w6","PYSEC-2021-122"],"status":"published","title":"No Authentication on Logging Server","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 \u003c 2.1.2.","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.0545,"percentile":0.928,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-200","CWE-306","CWE-862"],"published":"2021-08-16T07:25:11Z","modified":"2026-10-24T10:30:49Z","fixes":[{"ecosystem":"PyPI","package":"apache-airflow","fixed_in":["2.1.2"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"airflow","fixed_in":["2.1.2"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"apache-airflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.2"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"airflow","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"2.1.2"}]}]},{"source":"osv","ecosystem":"PyPI","package":"apache-airflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.2"}]}],"versions":["1.10.0","1.10.1","1.10.10","1.10.10rc1","1.10.10rc2","1.10.10rc3","1.10.10rc4","1.10.10rc5","1.10.11","1.10.11rc1","1.10.11rc2","1.10.12","1.10.12rc1","1.10.12rc2","1.10.12rc3","1.10.12rc4","1.10.13","1.10.13rc1","1.10.14","1.10.14rc1","1.10.14rc2","1.10.14rc3","1.10.14rc4","1.10.15","1.10.15rc1","1.10.1b1","1.10.1rc2","1.10.2","1.10.2b2","1.10.2rc1","1.10.2rc2","1.10.2rc3","1.10.3","1.10.3b1","1.10.3b2","1.10.3rc1","1.10.3rc2","1.10.4","1.10.4b2","1.10.4rc1","1.10.4rc2","1.10.4rc3","1.10.4rc4","1.10.4rc5","1.10.5","1.10.5rc1","1.10.6","1.10.6rc1","1.10.6rc2","1.10.7","1.10.7rc1","1.10.7rc2","1.10.7rc3","1.10.8","1.10.8rc1","1.10.9","1.10.9rc1","1.8.1","1.8.2","1.8.2rc1","1.9.0","2.0.0","2.0.0b1","2.0.0b2","2.0.0b3","2.0.0rc1","2.0.0rc2","2.0.0rc3","2.0.1","2.0.1rc1","2.0.1rc2","2.0.2","2.0.2rc1","2.1.0","2.1.0rc1","2.1.0rc2","2.1.1","2.1.1rc1","2.1.2rc1"]},{"source":"osv","ecosystem":"PyPI","package":"apache-airflow","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.1.2"}]}],"versions":["1.10.0","1.10.1","1.10.10","1.10.10rc1","1.10.10rc2","1.10.10rc3","1.10.10rc4","1.10.10rc5","1.10.11","1.10.11rc1","1.10.11rc2","1.10.12","1.10.12rc1","1.10.12rc2","1.10.12rc3","1.10.12rc4","1.10.13","1.10.13rc1","1.10.14","1.10.14rc1","1.10.14rc2","1.10.14rc3","1.10.14rc4","1.10.15","1.10.15rc1","1.10.1b1","1.10.1rc2","1.10.2","1.10.2b2","1.10.2rc1","1.10.2rc2","1.10.2rc3","1.10.3","1.10.3b1","1.10.3b2","1.10.3rc1","1.10.3rc2","1.10.4","1.10.4b2","1.10.4rc1","1.10.4rc2","1.10.4rc3","1.10.4rc4","1.10.4rc5","1.10.5","1.10.5rc1","1.10.6","1.10.6rc1","1.10.6rc2","1.10.7","1.10.7rc1","1.10.7rc2","1.10.7rc3","1.10.8","1.10.8rc1","1.10.9","1.10.9rc1","1.8.1","1.8.2","1.8.2rc1","1.9.0","2.0.0","2.0.0b1","2.0.0b2","2.0.0b3","2.0.0rc1","2.0.0rc2","2.0.0rc3","2.0.1","2.0.1rc1","2.0.1rc2","2.0.2","2.0.2rc1","2.1.0","2.1.0rc1","2.1.0rc2","2.1.1","2.1.1rc1","2.1.2rc1"]}],"products":[{"vendor":"apache","product":"airflow"},{"vendor":"apache software foundation","product":"apache airflow"}],"references":[{"url":"https://lists.apache.org/thread.html/r53d6bd7b0a66f92ddaf1313282f10fec802e71246606dd30c16536df%40%3Cusers.airflow.apache.org%3E","tags":["x_refsource_MISC","x_transferred","Mailing List","Vendor Advisory","advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-35936","tags":["web","advisory"]},{"url":"https://github.com/apache/airflow/commit/27265516d2b897585f5019ecd820cfe5471fd351","tags":["web"]},{"url":"https://github.com/apache/airflow/commit/7a5bb88ad78d600fbb1676a55752597928115bd8","tags":["web"]},{"url":"https://github.com/apache/airflow/commit/d772f38f843b9add5319a01cf51a844145b01f63","tags":["web"]},{"url":"https://github.com/apache/airflow/compare/2.1.1...2.1.2","tags":["web"]},{"url":"https://github.com/advisories/GHSA-m6h2-jx9v-58w6","tags":["advisory"]},{"url":"https://github.com/pypa/advisory-database/tree/main/vulns/apache-airflow/PYSEC-2021-122.yaml","tags":["web"]},{"url":"https://github.com/apache/airflow","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2021-35936","title":"No Authentication on Logging Server","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 \u003c 2.1.2.","status":"published","published":"2021-08-16T07:25:11Z","modified":"2024-08-04T00:40:47.453Z","cwes":["CWE-200"],"updated_at":"2026-11-02T14:33:09.864034Z"}],"euvd":[{"id":"EUVD-2021-0013","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 \u003c 2.1.2.","status":"published","published":"2021-08-16T07:25:11Z","modified":"2024-08-04T00:40:47Z","updated_at":"2026-11-03T03:24:30.441845Z"}],"ghsa":[{"id":"GHSA-m6h2-jx9v-58w6","title":"Missing Authorization in Apache Airflow","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 \u003c 2.1.2.","status":"published","published":"2021-08-30T16:25:57Z","modified":"2024-09-11T19:51:04Z","cvss":[{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-306","CWE-862"],"updated_at":"2026-11-02T14:38:02.014847Z"}],"nvd":[{"id":"CVE-2021-35936","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 \u003c 2.1.2.","status":"published","published":"2021-08-16T08:15:11.53Z","modified":"2026-06-17T03:57:57.623Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:P/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-200","CWE-306"],"updated_at":"2026-11-02T14:06:56.943671Z"}],"osv":[{"id":"CVE-2021-35936","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 \u003c 2.1.2.","status":"published","published":"2021-08-16T08:15:11.53Z","modified":"2026-10-24T10:30:49.672728923Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T15:44:20.13324Z"},{"id":"GHSA-m6h2-jx9v-58w6","title":"Missing Authorization in Apache Airflow","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 \u003c 2.1.2.","status":"published","published":"2021-08-30T16:25:57Z","modified":"2024-09-11T20:03:47.229866Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"},{"version":"4.0","score":5.3,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-306","CWE-862"],"updated_at":"2026-11-02T15:46:51.463834Z"},{"id":"BIT-airflow-2021-35936","title":"No Authentication on Logging Server","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 \u003c 2.1.2.","status":"published","published":"2024-03-06T10:59:07.153Z","modified":"2026-09-08T08:45:21.512569347Z","updated_at":"2026-11-02T15:28:28.267217Z"},{"id":"PYSEC-2021-122","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 \u003c 2.1.2.","status":"published","published":"2021-08-16T08:15:00Z","modified":"2023-12-06T01:01:18.503302Z","updated_at":"2026-11-02T15:52:52.682031Z"}]}}
