CVE-2020-16846
SaltStack Salt Shell Injection Vulnerability
Beschreibung
CVE-2020-16846 ist eine kritische Shell-Injection-Schwachstelle in SaltStack Salt. Die Salt-API ermöglicht bei aktiviertem SSH-Client einem nicht authentifizierten Benutzer mit Netzwerkzugriff, über manipulierte Webanfragen Shell-Befehle einzuschleusen, was zur Ausführung beliebigen Codes auf dem Salt-Master führt. Diese Shell-Injection-Schwachstelle betrifft SaltStack Salt bis einschließlich Version 3002. Die CISA hat CVE-2020-16846 in ihren Katalog bekannter ausgenutzter Schwachstellen aufgenommen, und mit einem EPSS-Score von 94,39 % (99,97. Perzentil) ist die Ausnutzung für exponierte Salt-API-Instanzen nahezu sicher.
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 |
|---|---|---|
| saltstack | salt | < 2015.8.10; >= 2015.8.11, < 2015.8.13; >= 2016.3.0, < 2016.3.4; >= 2016.3.5, < 2016.3.6; >= 2016.3.7, < 2016.3.8; >= 2016.11.0, < 2016.11.3; >= 2016.11.4, < 2016.11.6; >= 2016.11.7, < 2016.11.10; >= 2017.5.0, < 2017.7.4; >= 2017.7.5, < 2017.7.8; >= 2018.2.0, < 2018.3.5; >= 2019.2.0, < 2019.2.5; >= 3000.0, < 3000.3; 3001; 3002 |
| debian | debian linux | 9.0; 10.0 |
| fedoraproject | fedora | 31 |
| opensuse | leap | 15.1 |
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://lists.opensuse.org/opensuse-security-announce/2020-11/msg00029.html(Mailing List, Third Party Advisory)
- http://packetstormsecurity.com/files/160039/SaltStack-Salt-REST-API-Arbitrary-Command-Execution.html(Exploit, Third Party Advisory, VDB Entry)
- https://github.com/saltstack/salt/releases(Release Notes)
- https://lists.debian.org/debian-lts-announce/2020/12/msg00007.html(Mailing List, Third Party Advisory)
- https://lists.debian.org/debian-lts-announce/2022/01/msg00000.html(Mailing List, Third Party Advisory)
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/TPOGB2F6XUAIGFDTOCQDNB2VIXFXHWMA/(Release Notes)
- https://security.gentoo.org/glsa/202011-13(Third Party Advisory)
- https://www.debian.org/security/2021/dsa-4837(Mailing List, Third Party Advisory)
- https://www.saltstack.com/blog/on-november-3-2020-saltstack-publicly-disclosed-three-new-cves/(Broken Link, Vendor Advisory)
- https://www.zerodayinitiative.com/advisories/ZDI-20-1379/(Third Party Advisory, VDB Entry)
- https://www.zerodayinitiative.com/advisories/ZDI-20-1380/(Third Party Advisory, VDB Entry)
- https://www.zerodayinitiative.com/advisories/ZDI-20-1381/(Third Party Advisory, VDB Entry)
- https://www.zerodayinitiative.com/advisories/ZDI-20-1382/(Third Party Advisory, VDB Entry)
- https://www.zerodayinitiative.com/advisories/ZDI-20-1383/(Third Party Advisory, VDB Entry)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2020-16846(US Government Resource)
Schwachstellentyp
CWE-78: Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')
Die SaltStack-Salt-API versäumt es, Benutzereingaben vor der Einbindung in OS-Befehle, die über den SSH-Client ausgeführt werden, ordnungsgemäß zu neutralisieren. Wenn manipulierte Webanfragen an die Salt-API gesendet werden, werden Shell-Sonderzeichen nicht bereinigt, sodass ein Angreifer beliebige Betriebssystembefehle auf dem Salt-Master-Server einschleusen und ausführen kann.
Mehr erfahren: CWE-78 — Improper Neutralization of Special Elements used in an OS Command
Auswirkungsanalyse
CVE-2020-16846 weist einen CVSS-3.1-Score von 9,8 (KRITISCH) auf und repräsentiert die höchste Schwerestufe. Die Schwachstelle ist aus der Ferne über das Netzwerk mit geringer Angriffskomplexität ausnutzbar, erfordert keine Authentifizierung und keine Benutzerinteraktion. Eine erfolgreiche Ausnutzung kompromittiert vollständig die Vertraulichkeit, Integrität und Verfügbarkeit, da ein Angreifer beliebige Befehle mit den Privilegien des Salt-API-Prozesses ausführen kann. Mit einem EPSS-Score von 94,39 % (99,97. Perzentil) ist die Ausnutzung für exponierte Instanzen nahezu sicher. Da der Salt-Master typischerweise viele Minion-Systeme verwaltet, kann eine erfolgreiche Ausnutzung dieser Schwachstelle zur vollständigen Kompromittierung der Infrastruktur führen und alle vom kompromittierten Salt-Master verwalteten Systeme betreffen.
Exploit-Reifegrad
CVE-2020-16846 wird durch die Aufnahme in den CISA-Katalog bekannter ausgenutzter Schwachstellen als aktiv ausgenutzt bestätigt. Öffentlicher Exploit-Code ist verfügbar über Packet Storm Security, der einen einsatzbereiten Proof-of-Concept für beliebige Befehlsausführung über die Salt-REST-API bereitstellt. Der EPSS-Score von 94,39 % (99,97. Perzentil) weist auf nahezu sichere Ausnutzungsaktivität hin. Mehrere Zero-Day-Initiative-Advisories (ZDI-20-1379, ZDI-20-1380, ZDI-20-1381, ZDI-20-1382, ZDI-20-1383) dokumentieren verwandte Schwachstellen in derselben Salt-API-Oberfläche und erhöhen das Gesamtrisiko.
Behebung
- Herstellerpatches sofort anwenden, wie von CISA KEV gefordert: Updates gemäß Herstelleranweisungen einspielen. Aktualisieren Sie SaltStack Salt über Version 3002 hinaus auf die neueste verfügbare gepatchte Version Ihres Deployment-Branches.
- Überprüfen Sie, dass alle Salt-Master-Instanzen mit betroffenen Versionen aktualisiert wurden. Die Schwachstelle betrifft eine große Bandbreite von SaltStack-Salt-Versionen bis einschließlich 3002, von Branch 2015.8.x bis 3002.
- Falls eine sofortige Aktualisierung nicht möglich ist, deaktivieren Sie den Salt-API-Dienst vollständig oder beschränken Sie den Netzwerkzugriff auf den Salt-API-Endpunkt mittels Firewall-Regeln. Stellen Sie sicher, dass die SSH-Client-Integration deaktiviert ist, wenn sie nicht aktiv benötigt wird.
- Überwachen Sie Salt-API-Zugriffsprotokolle auf verdächtige Anfragen, insbesondere solche, die Shell-Metazeichen oder ungewöhnliche Befehlsmuster enthalten. Prüfen Sie Systemprotokolle auf dem Salt-Master auf Indikatoren nicht autorisierter Befehlsausführung.
- Prüfen Sie nach dem Patchen das Salt-Master-System auf Anzeichen einer vorherigen Kompromittierung, einschließlich nicht autorisierter SSH-Schlüssel, modifizierter Konfigurationsdateien, unerwarteter Cron-Jobs und unbekannter Benutzerkonten. Implementieren Sie Netzwerksegmentierung, um den Salt-Master von nicht vertrauenswürdigen Netzwerksegmenten zu isolieren.
Technische Details
CVE-2020-16846 ist eine Shell-Injection-Schwachstelle in der SSH-Client-Integration der SaltStack-Salt-REST-API. Wenn die Salt-API mit aktivierter SSH-Client-Unterstützung konfiguriert ist, werden benutzerseitig übermittelte Parameter in Webanfragen direkt an Shell-Befehle weitergegeben, ohne ordnungsgemäße Eingabebereinigung. Ein Angreifer kann HTTP-Anfragen mit Shell-Metazeichen erstellen, die von der zugrunde liegenden Shell interpretiert werden und beliebige Befehlsausführung auf dem Salt-Master-System ermöglichen. Der CVSS-Vektor (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) spiegelt die maximale Ausnutzbarkeit wider: netzwerkzugänglich, geringe Komplexität, keine Authentifizierung und keine Benutzerinteraktion erforderlich, mit vollständiger Auswirkung auf alle drei CIA-Dimensionen. Die Schwachstelle erstreckt sich über eine umfangreiche Reihe von SaltStack-Salt-Versionen von 2015.8.x bis 3002, was darauf hindeutet, dass das verwundbare Code-Pattern in der SSH-Integration der Salt-API viele Jahre vor der Entdeckung und dem Patchen vorhanden war.
Häufig gestellte Fragen
Wird CVE-2020-16846 aktiv ausgenutzt?
Ja. CVE-2020-16846 ist im CISA-Katalog bekannter ausgenutzter Schwachstellen aufgeführt, was eine aktive Ausnutzung in freier Wildbahn bestätigt. Der EPSS-Score von 94,39 % (99,97. Perzentil) weist auf nahezu sichere Ausnutzung hin. Öffentlicher Exploit-Code ist leicht verfügbar.
Welche Produkte sind betroffen?
CVE-2020-16846 betrifft SaltStack Salt bis einschließlich Version 3002 und deckt Branches von 2015.8.x bis 3002 ab. Zusätzlich betroffen sind Debian Linux 9.0/10.0, Fedora 31 und openSUSE Leap 15.1 Distributionen, die verwundbare Salt-Pakete enthalten.
Wie behebe ich CVE-2020-16846?
Aktualisieren Sie SaltStack Salt über Version 3002 hinaus auf die neueste verfügbare gepatchte Version. Falls eine sofortige Aktualisierung nicht möglich ist, deaktivieren Sie die Salt-API oder beschränken Sie deren Netzwerkexposition und deaktivieren Sie die SSH-Client-Integration.
Wie schwerwiegend ist CVE-2020-16846?
CVE-2020-16846 hat einen CVSS-3.1-Score von 9,8 (KRITISCH). Die Schwachstelle ermöglicht nicht authentifizierte Remote-Befehlsausführung über die Salt-API, wobei der EPSS-Score von 94,39 % nahezu sichere Ausnutzung bestätigt. Die Schwachstelle erfordert sofortige Behebung.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.