*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