CVE-2022-0185
Linux Kernel Heap-Based Buffer Overflow Vulnerability
Beschreibung
CVE-2022-0185 ist eine schwerwiegende Heap-basierte Buffer-Overflow-Schwachstelle (CVSS 8.4 HIGH) im Linux-Kernel. Die Schwachstelle befindet sich in der Funktion legacy_parse_param im Filesystem-Context-Subsystem und ermöglicht es einem lokalen Angreifer, durch unzureichend validierte Parameterlängen den Heap-Speicher zu korrumpieren. Betroffen sind Linux-Kernel-Versionen ab 5.1 bis einschliesslich 5.16.1 sowie verschiedene NetApp-Firmware-Versionen. Die Schwachstelle ist im CISA KEV-Katalog gelistet und es existieren öffentlich verfügbare Exploits. Der EPSS-Score beträgt 0.01347 (79.8. Perzentil).
KEV-Informationen
CVSS-Score
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HIm Rechner öffnenBetroffene Produkte
| Hersteller | Produkt | Version |
|---|---|---|
| linux | linux kernel | >= 5.1, < 5.4.173; >= 5.5, < 5.10.93; >= 5.11, < 5.15.16; >= 5.16, < 5.16.2 |
| netapp | h410c firmware | - |
| netapp | h300s firmware | - |
| netapp | h500s firmware | - |
| netapp | h700s firmware | - |
| netapp | h300e firmware | - |
| netapp | h500e firmware | - |
| netapp | h700e firmware | - |
| netapp | h410s firmware | - |
Mehrere CVSS-Bewertungen
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Referenzen
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=722d94847de2(Mailing List, Patch)
- https://github.com/Crusaders-of-Rust/CVE-2022-0185(Exploit, Third Party Advisory)
- https://security.netapp.com/advisory/ntap-20220225-0003/(Third Party Advisory)
- https://www.openwall.com/lists/oss-security/2022/01/18/7(Mailing List, Patch, Third Party Advisory)
- https://www.willsroot.io/2022/01/cve-2022-0185.html(Exploit, Third Party Advisory)
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2022-0185(US Government Resource)
Schwachstellentyp
Für CVE-2022-0185 wurde keine spezifische CWE-Nummer zugewiesen, jedoch handelt es sich um einen Heap-Based Buffer Overflow. Diese Art der Schwachstelle tritt auf, wenn ein Programm Daten über die Grenzen eines auf dem Heap allokierten Speicherbereichs hinaus schreibt. Im konkreten Fall liegt der Fehler in der Funktion legacy_parse_param innerhalb des Filesystem-Context-Subsystems des Linux-Kernels. Diese Funktion ist verantwortlich für die Verarbeitung von Parametern beim Mounten von Dateisystemen, die die neuere Filesystem-Context-API nicht unterstützen. Die unzureichende Validierung der Parameterlänge ermöglicht es, den Heap-Speicher des Kernels zu überschreiben, was zu einer Privilegieneskalation von einem unprivilegierten Benutzer zu Root-Berechtigungen führen kann.
Auswirkungsanalyse
Die Auswirkungen von CVE-2022-0185 sind erheblich, insbesondere in Container- und Cloud-Umgebungen. Vertraulichkeit (C:H): Bei erfolgreicher Ausnutzung erhält der Angreifer Root-Zugriff auf das System und kann sämtliche Daten auslesen, einschliesslich Kernel-Speicher, Kryptoschlüssel und vertraulicher Dateien anderer Benutzer. Integrität (I:H): Mit Root-Berechtigungen kann der Angreifer das System beliebig manipulieren, Rootkits installieren und die Systemintegrität vollständig kompromittieren. Verfügbarkeit (A:H): Der Heap-Overflow kann zu Kernel-Panics und Systemabstürzen führen, oder der Angreifer kann nach der Privilegieneskalation die Verfügbarkeit gezielt beeinträchtigen. Bemerkenswert ist der lokale Angriffsvektor (AV:L) bei gleichzeitig fehlender Anforderung an Berechtigungen (PR:N) und Benutzerinteraktion (UI:N). In Umgebungen mit aktivierten unprivilegierten User Namespaces kann jeder lokale Benutzer die Schwachstelle ausnutzen, ohne besondere Berechtigungen zu benötigen. In Container-Umgebungen (Docker, Kubernetes) ist dies besonders kritisch, da ein Container-Escape ermöglicht wird. Der EPSS-Score von 0.01347 (79.8. Perzentil) reflektiert die lokale Natur des Angriffs. Der Ransomware-Status ist als Unknown eingestuft.
Exploit-Reifegrad
CVE-2022-0185 verfügt über mehrere öffentlich verfügbare Exploits und wird aktiv ausgenutzt. Die CISA hat die Schwachstelle in den KEV-Katalog aufgenommen, mit einer Behebungsfrist bis zum 11. September 2024. Zwei bedeutende Exploit-Veröffentlichungen sind dokumentiert: Das Projekt Crusaders-of-Rust/CVE-2022-0185 auf GitHub stellt einen vollständigen Exploit in Rust bereit, und eine detaillierte technische Analyse mit Exploit wurde von willsroot veröffentlicht. Die Exploit-Verfügbarkeit in Kombination mit der Möglichkeit, unprivilegierte User Namespaces zu nutzen, macht diese Schwachstelle besonders zugänglich. In Container-Umgebungen wie Kubernetes ermöglicht der Exploit einen Container-Escape, was von mehreren Sicherheitsforschern demonstriert wurde. Der EPSS-Score von 0.01347 (79.8. Perzentil) und der Ransomware-Status Unknown spiegeln die primär lokale Ausnutzung wider.
Behebung
-
Kernel-Update installieren: Aktualisieren Sie den Linux-Kernel auf eine gepatchte Version: mindestens 5.4.173 (für 5.4.x), 5.10.93 (für 5.10.x), 5.15.16 (für 5.15.x) oder 5.16.2 (für 5.16.x). Der Patch-Commit ist in allen aktuellen Distributionskernen enthalten.
-
Unprivilegierte User Namespaces deaktivieren: Wenn Ihr System unprivilegierte User Namespaces nicht zwingend benötigt, deaktivieren Sie diese als sofortige Mitigation mit sysctl user.max_user_namespaces=0. Dies verhindert die Ausnutzung durch unprivilegierte Benutzer.
-
Container-Sicherheit überprüfen: In Kubernetes- und Docker-Umgebungen stellen Sie sicher, dass Container mit minimalen Berechtigungen laufen. Verwenden Sie Seccomp-Profile und AppArmor/SELinux-Policies, um den Zugriff auf das Filesystem-Context-Subsystem einzuschränken.
-
NetApp-Firmware aktualisieren: Wenn Sie NetApp H-Series Geräte (H410C, H300S, H500S, H700S, H300E, H500E, H700E, H410S) betreiben, aktualisieren Sie die Firmware gemäss dem NetApp Security Advisory NTAP-20220225-0003.
-
Monitoring für Exploit-Versuche: Überwachen Sie Ihre Systeme auf verdächtige mount-Systemaufrufe mit ungewöhnlich langen Parametern sowie auf die Erstellung neuer User Namespaces durch unprivilegierte Prozesse.
Technische Details
Der CVSS v3.1 Vektor für CVE-2022-0185 lautet CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H mit einem Score von 8.4 (HIGH). Angriffsvektor (AV:L): Der Angriff erfordert lokalen Zugriff auf das System — dies schliesst Container-Zugriff mit ein. Angriffskomplexität (AC:L): Die Ausnutzung ist dank öffentlicher Exploits mit geringem Aufwand möglich. Erforderliche Berechtigungen (PR:N): Keine Berechtigungen erforderlich, wenn unprivilegierte User Namespaces aktiviert sind. Andernfalls wird die CAP_SYS_ADMIN Capability in einem User Namespace benötigt. Benutzerinteraktion (UI:N): Vollständig automatisierbar. Scope (S:U): Die Auswirkungen bleiben im Kernel-Kontext des betroffenen Systems. Der technische Mechanismus basiert auf einem Integer-Underflow in der Funktion legacy_parse_param. Beim Parsen von Mountoptionen wird die Länge des übergebenen Parameters nicht korrekt gegen die Puffergrösse validiert. Ein speziell konstruierter Parameter mit einer Länge, die den internen Zähler zum Unterlauf bringt, führt dazu, dass die Funktion über die Grenzen des allokierten Heap-Puffers hinaus schreibt. Der Angreifer nutzt dies, um Kernel-Datenstrukturen zu überschreiben und letztlich die Ausführung beliebigen Kernel-Codes zu erreichen, was eine vollständige Privilegieneskalation zu Root ermöglicht.
Häufig gestellte Fragen
Was ist CVE-2022-0185 und wie gefährlich ist es?
CVE-2022-0185 ist eine Heap-basierte Buffer-Overflow-Schwachstelle im Linux-Kernel, die eine Privilegieneskalation von einem unprivilegierten Benutzer zu Root ermöglicht. Besonders gefährlich ist sie in Container-Umgebungen, da sie einen Container-Escape ermöglicht, wenn unprivilegierte User Namespaces aktiviert sind.
Welche Linux-Versionen sind betroffen?
Betroffen sind Linux-Kernel-Versionen ab 5.1 bis einschliesslich 5.4.172, 5.10.92, 5.15.15 und 5.16.1. Alle gängigen Linux-Distributionen haben Patches bereitgestellt. Prüfen Sie Ihre Kernel-Version mit uname -r und vergleichen Sie mit den gepatchten Versionen Ihrer Distribution.
Kann die Schwachstelle aus einem Container heraus ausgenutzt werden?
Ja, CVE-2022-0185 ermöglicht einen Container-Escape, sofern der Container in einem Kernel mit aktivierten unprivilegierten User Namespaces läuft. Dies ist bei vielen Standard-Kubernetes- und Docker-Konfigurationen der Fall. Die Deaktivierung unprivilegierter User Namespaces ist eine wirksame kurzfristige Mitigation.
Wird CVE-2022-0185 in Ransomware-Angriffen eingesetzt?
Der KEV-Eintrag stuft den Ransomware-Status als Unknown ein. Als lokale Privilegieneskalation eignet sich die Schwachstelle primär als Teil einer Exploit-Kette, bei der sie nach einem initialen Zugang eingesetzt wird, um Root-Berechtigungen zu erlangen. Ein Einsatz in Ransomware-Ketten ist daher durchaus plausibel.
Hilfe beim Schwachstellenmanagement?
Unsere Sicherheitsexperten helfen Ihnen bei der Priorisierung und Behebung von Schwachstellen.