CVE-2020-13927
Apache Airflow's Experimental API Authentication Bypass
Beschreibung
CVE-2020-13927 ist eine kritische Schwachstelle in Apache Airflow, die auf einer fehlenden Authentifizierung der Experimental API basiert. Die Standardkonfiguration in Airflow-Versionen vor 1.10.11 erlaubte sämtliche API-Anfragen ohne jegliche Authentifizierung, was Angreifern vollständigen Zugriff auf die Airflow-Steuerungsfunktionen ermöglicht. Diese Apache Airflow Authentication-Bypass-Schwachstelle hat einen CVSS-Score von 9.8 (CRITICAL) und wurde von CISA in den Known Exploited Vulnerabilities-Katalog aufgenommen. Der EPSS-Score von 93,86 % (99,9. Perzentile) zeigt eine nahezu sichere Ausnutzungswahrscheinlichkeit.
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| apache | airflow | < 1.10.11 |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Referenzen
- http://packetstormsecurity.com/files/162908/Apache-Airflow-1.10.10-Remote-Code-Execution.html(Exploit, Third Party Advisory, VDB Entry)
- http://packetstormsecurity.com/files/174764/Apache-Airflow-1.10.10-Remote-Code-Execution.html(Exploit, Third Party Advisory, VDB Entry)
- https://lists.apache.org/thread.html/r23a81b247aa346ff193670be565b2b8ea4b17ddbc7a35fc099c1aadd%40%3Cdev.airflow.apache.org%3E(Mailing List, Vendor Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-13927(Third Party Advisory, US Government Resource)
Schwachstellentyp
CWE-306: Fehlende Authentifizierung für kritische Funktion
In Apache Airflow fehlte die Authentifizierung für die Experimental API vollständig in der Standardkonfiguration. Dies ist kein Fall von schwacher Authentifizierung, sondern das vollständige Fehlen jeglicher Authentifizierung für eine API, die kritische Funktionen wie das Auslösen von DAG-Runs und den Zugriff auf sensible Konfigurationsdaten bereitstellt.
Weitere Informationen: CWE-306 — Fehlende Authentifizierung für kritische Funktion
CWE-1188: Unsichere Standardinitialisierung von Ressourcen
Die Experimental API von Apache Airflow wurde standardmäßig mit der unsicheren Konfiguration allow_all initialisiert, anstatt einen sicheren Standardwert wie deny_all zu verwenden. Bestehende Installationen, die diese Standardeinstellung nicht manuell geändert hatten, waren somit ungeschützt für unauthentifizierte API-Zugriffe.
Weitere Informationen: CWE-1188 — Unsichere Standardinitialisierung von Ressourcen
Auswirkungsanalyse
CVE-2020-13927 hat einen CVSS 3.1-Score von 9.8 (CRITICAL) und stellt eine maximale Bedrohung für Apache Airflow-Installationen dar. Die Schwachstelle ist über das Netzwerk ausnutzbar bei geringer Angriffskomplexität, erfordert keinerlei Authentifizierung und keine Benutzerinteraktion. Vertraulichkeit (Hoch): Über die ungeschützte API können sämtliche Airflow-Konfigurationen, DAG-Definitionen, Variablen und Verbindungsinformationen einschließlich Datenbank-Credentials ausgelesen werden. Integrität (Hoch): Angreifer können DAG-Runs auslösen, Konfigurationen ändern und in Kombination mit CVE-2020-11978 beliebigen Code ausführen. Verfügbarkeit (Hoch): Durch massenhafte DAG-Auslösung oder Manipulation von Konfigurationen kann der gesamte Airflow-Betrieb gestört werden. Der Exploitability Score von 3.9 (Maximum) unterstreicht die extreme Einfachheit der Ausnutzung.
Exploit-Reifegrad
Öffentlicher Exploit-Code ist verfügbar für CVE-2020-13927 über Packet Storm Security sowie über eine weitere Veröffentlichung. Die CISA hat die aktive Ausnutzung bestätigt und die Schwachstelle in den KEV-Katalog aufgenommen. Der EPSS-Score von 93,86 % (99,9. Perzentile) zeigt eine nahezu sichere Ausnutzungsaktivität. CVE-2020-13927 wird häufig mit CVE-2020-11978 (Command Injection in Beispiel-DAGs) kombiniert: Der Authentication Bypass ermöglicht unauthentizierten Zugriff auf die API, über die dann die Command-Injection-Schwachstelle zur Codeausführung ausgenutzt wird.
Behebung
- Pflichtmaßnahme laut CISA KEV: Apply updates per vendor instructions. Aktualisieren Sie Apache Airflow auf Version 1.10.11 oder höher, in der die Standardeinstellung auf
deny_allgeändert wurde. - Für bestehende Installationen, die auf 1.10.11 oder höher aktualisiert werden: Ändern Sie die Konfiguration manuell auf
[api] auth_backend = airflow.api.auth.backend.deny_alloder implementieren Sie eine geeignete Authentifizierungsmethode, da das Update die Konfiguration bestehender Installationen nicht automatisch ändert. - Beschränken Sie den Netzwerkzugriff auf die Airflow-API und Weboberfläche mittels Firewall-Regeln. Stellen Sie sicher, dass die Experimental API nicht direkt aus dem Internet erreichbar ist. Setzen Sie einen Reverse-Proxy mit Authentifizierung ein.
- Überwachen Sie API-Zugriffsprotokolle auf verdächtige unauthentifizierte Anfragen, insbesondere auf die Experimental API-Endpunkte. Prüfen Sie, ob unautorisierte DAG-Runs ausgelöst wurden.
- Implementieren Sie als langfristige Maßnahme eine robuste Authentifizierung für alle Airflow-API-Endpunkte. Verwenden Sie OAuth, LDAP oder andere zentrale Authentifizierungsmechanismen und wenden Sie das Prinzip "Deny by Default" auf alle neuen Schnittstellen an.
Technische Details
CVE-2020-13927 basiert auf einer unsicheren Standardkonfiguration der Apache Airflow Experimental API (CWE-306 und CWE-1188). In Versionen vor 1.10.11 war die API-Authentifizierung standardmäßig auf allow_all gesetzt, was bedeutet, dass jeder Netzwerkteilnehmer ohne Credentials auf sämtliche API-Endpunkte zugreifen konnte. Der CVSS-Vektor CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H reflektiert die maximale Ausnutzbarkeit ohne jegliche Zugangsbeschränkungen. Besonders kritisch ist die Verkettung mit CVE-2020-11978: Während die Command-Injection-Schwachstelle allein eine Authentifizierung erfordert (PR:L), hebt CVE-2020-13927 diese Anforderung auf, wodurch unauthentifizierte Remote-Codeausführung möglich wird. Ab Version 1.10.11 wurde der Standard auf deny_all geändert, bestehende Installationen mussten die Konfiguration jedoch manuell anpassen.
Häufig gestellte Fragen
Wird CVE-2020-13927 aktiv ausgenutzt?
Ja. CVE-2020-13927 ist im CISA Known Exploited Vulnerabilities-Katalog gelistet, was eine aktive Ausnutzung bestätigt. Der EPSS-Score von 93,86 % (99,9. Perzentile) zeigt eine nahezu sichere Ausnutzungswahrscheinlichkeit. Öffentlicher Exploit-Code ist verfügbar. Es ist keine direkte Ransomware-Nutzung bekannt.
Welche Produkte sind von CVE-2020-13927 betroffen?
CVE-2020-13927 betrifft Apache Airflow in allen Versionen vor 1.10.11. Auch nach dem Update auf 1.10.11 oder höher sind bestehende Installationen weiterhin verwundbar, wenn die Konfiguration nicht manuell auf eine sichere Authentifizierungsmethode umgestellt wurde.
Wie behebe ich CVE-2020-13927?
Aktualisieren Sie Apache Airflow auf Version 1.10.11 oder höher und stellen Sie sicher, dass die API-Authentifizierung korrekt konfiguriert ist. Setzen Sie [api] auth_backend = airflow.api.auth.backend.deny_all oder implementieren Sie eine geeignete Authentifizierungsmethode. Beschränken Sie zudem den Netzwerkzugriff auf die API-Endpunkte.
Wie schwerwiegend ist CVE-2020-13927?
CVE-2020-13927 hat einen CVSS 3.1-Score von 9.8 (CRITICAL) und gehört damit zur höchsten Schweregradkategorie. In Kombination mit CVE-2020-11978 ermöglicht diese Schwachstelle unauthentifizierte Remote-Codeausführung. Der EPSS-Score in der 99,9. Perzentile unterstreicht die extreme Gefährdungslage.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.