CVE DatabaseCVE-2020-13927
한국어 권고문 →
CVE-2020-139279.8/CRITICALCISA KEVCWE-306CWE-1188CWE-306CWE-1056CWE-1188

Apache Airflow Experimental API Authentication Bypass and Remote Code Execution (RCE) Vulnerability (CVE-2020-13927)

⚡ Jump to Patch
Affected Vendors
apache
Affected Components
airflow
Published Date
2020-11-10
CVSS v3.1
9.8
CRITICAL
EPSS (30d)
99.8%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

Apache Airflow versions prior to 1.10.11, and existing installations retaining default configurations

Impact

Unauthenticated attackers can access the Experimental API to trigger arbitrary DAGs, leading to full remote code execution (RCE) and server compromise

Mitigation

Upgrade Apache Airflow to version 1.10.11 or higher, or explicitly configure the API authentication backend to 'deny_all' in airflow.cfg

Affected Products & Version Scope

Apache Airflow versions prior to 1.10.11. Existing installations require manual configuration changes even after upgrading.

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

Upgrade Apache Airflow to version 1.10.11 or later to ensure secure defaults are applied.

bash
# Upgrade Apache Airflow using pip to a secure version\pip install --upgrade 'apache-airflow>=1.10.11'

2. Temporary Workaround & Hardening Configuration

If an immediate upgrade is not feasible, manually restrict access by modifying the 'airflow.cfg' configuration file.

ini
# Modify the [api] section in airflow.cfg
[api]
auth_backend = airflow.api.auth.backend.deny_all

3. Log Audit & IoC Verification Commands

Audit your web server access logs for unauthorized API requests and verify the current active configuration.

bash
# 1. Search access logs for suspicious Experimental API requests
grep -E '/api/experimental/' /var/log/airflow/webserver_access.log

# 2. Verify the currently active API authentication backend
airflow config get-value api auth_backend
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Cloudflare Enterprise & Pro WAF
Immediately audit your Apache Airflow configuration to ensure the Experimental API is disabled or protected by a robust authentication backend.

Block Exploits Instantly with Managed Virtual Patching Rules

Can't patch production immediately? Deploy managed WAF rules at the edge to intercept RCE, SQLi, and deserialization payloads before they hit your origin server.

3-min setup · Automated Zero-Day Managed Rules
Practice Exploiting & Patching This Web Vulnerability in an Interactive Lab
Launch Hands-On Security Lab

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

In Apache Airflow versions prior to 1.10.11, the default configuration for the Experimental API was set to allow all API requests without requiring any authentication. This insecure default configuration (CWE-306, CWE-1188) exposes critical orchestration endpoints to unauthorized users.

2. Exploitation Mechanics & Attack Scenario

An attacker can send unauthenticated HTTP POST requests directly to the '/api/experimental/dags/<DAG_ID>/dag_runs' endpoint. Since no credentials are validated, the attacker can trigger arbitrary DAG runs with custom parameters, allowing them to execute arbitrary OS commands on the underlying worker or webserver nodes.

3. Infrastructure & Business Impact

This vulnerability is highly critical and has been actively exploited in the wild (CISA KEV). Successful exploitation allows complete takeover of the Airflow orchestration server, potentially exposing sensitive database credentials, cloud API keys, and proprietary data pipelines managed by the platform.

Official Vendor Advisories & References

NVD Original English Description

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

Frequently Asked SecOps Questions (CVE-2020-13927)

FAQ

Q1. How critical is CVE-2020-13927 and is it actively exploited in the wild?

CVE-2020-13927 is rated CVSS 9.8 (CRITICAL) with a 30-day EPSS exploitation probability of 99.8%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2020-13927?

Primary impacted vendors include apache across airflow. Scope summary: Apache Airflow versions prior to 1.10.11. Existing installations require manual configuration changes even after upgrading.

Q3. What temporary mitigations or workarounds exist for CVE-2020-13927 before patching?

[Mitigation] Upgrade Apache Airflow to version 1.10.11 or higher, or explicitly configure the API authentication backend to 'deny_all' in airflow.cfg Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2020-13927

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (apache)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2020-13927 Apache Airflow Experimental API Authentication Bypass and Remote Code Execution (RCE) Vulnerability (CVE-2020-13927) (CVSS 9.8) - Patch & Workaround | CVE Pulse