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.

Mitigation:

Use remote logging with GCS, S3, Elasticsearch etc. This is recommended for 
production environments.

And do not publicly expose any other ports apart from Webserver port, Flower 
port etc.

Credit:

Apache Airflow would like to thank Dolev Farhi for reporting this issue.

Reply via email to