Apache Airflow < 1.10.11 Multiple Vulnerabilities

critical Nessus Plugin ID 162136

Synopsis

An application installed on the remote host is missing a vendor-supplied update.

Description

The version of Apache Airflow is prior to 1.10.11. It is, therefore, affected by multiple vulnerabilities, including the following:

- An issue was found in Apache Airflow versions 1.10.10 and below. When using CeleryExecutor, if an attacker can connect to the broker (Redis, RabbitMQ) directly, it is possible to inject commands, resulting in the celery worker running arbitrary commands. (CVE-2020-11981)

- An issue was found in Apache Airflow versions 1.10.10 and below. When using CeleryExecutor, if an attack can connect to the broker (Redis, RabbitMQ) directly, it was possible to insert a malicious payload directly to the broker which could lead to a deserialization attack (and thus remote code execution) on the Worker. (CVE-2020-11982)

- An issue was found in Apache Airflow versions 1.10.10 and below. A remote code/command injection vulnerability was discovered in one of the example DAGs shipped with Airflow which would allow any authenticated user to run arbitrary commands as the user running airflow worker/scheduler (depending on the executor in use). If you already have examples disabled by setting load_examples=False in the config then you are not vulnerable. (CVE-2020-11978)

- 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 (CVE-2020-13927)

Note that Nessus has not tested for these issues but has instead relied only on the application's self-reported version number.

Solution

Upgrade to Apache Airflow version 1.10.11 or later.

See Also

https://lists.apache.org/thread/cn57zwylxsnzjyjztwqxpmly0x9q5ljx

https://lists.apache.org/thread/mq1bpqf3ztg1nhyc5qbrjobfrzttwx1d

http://www.nessus.org/u?152f8770

Plugin Details

Severity: Critical

ID: 162136

File Name: apache_airflow_1_10_11.nasl

Version: 1.4

Type: remote

Family: Misc.

Published: 6/13/2022

Updated: 10/20/2023

Supported Sensors: Nessus

Risk Information

VPR

Risk Factor: High

Score: 7.4

CVSS v2

Risk Factor: High

Base Score: 7.5

Temporal Score: 6.2

Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

CVSS Score Source: CVE-2020-13927

CVSS v3

Risk Factor: Critical

Base Score: 9.8

Temporal Score: 9.1

Vector: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Temporal Vector: CVSS:3.0/E:F/RL:O/RC:C

Vulnerability Information

CPE: cpe:/a:apache:airflow

Required KB Items: installed_sw/Apache Airflow

Exploit Available: true

Exploit Ease: Exploits are available

Patch Publication Date: 7/10/2020

Vulnerability Publication Date: 7/13/2020

CISA Known Exploited Vulnerability Due Dates: 7/18/2022

Exploitable With

Metasploit (Apache Airflow 1.10.10 - Example DAG Remote Code Execution)

Reference Information

CVE: CVE-2020-11978, CVE-2020-11981, CVE-2020-11982, CVE-2020-11983, CVE-2020-13927, CVE-2020-9485