Schwerwiegende Rechteausweitungsfehler im Paketmanager von Linux Snap gefunden
Schwerwiegende Rechteausweitungsfehler im Paketmanager von Linux Snap gefunden
Experten haben eine leicht ausnutzbare Schwachstelle in Snap entdeckt, einem globalen Paketierungs- und Verteilungssystem für Anwendungen, das für Ubuntu entwickelt wurde, aber auf vielen Linux-Distributionen verfügbar ist. Der Fehler ermöglicht es einem Benutzer mit geringen Rechten, bösartigen Code als root auszuführen, was das höchste Administratorkonto in Linux ist.
Die Schwachstelle mit dem Namen CVE-2021-44731 ist Teil einer Reihe von Fehlern, die Qualys-Forscher während ihrer Snap-Sicherheitsuntersuchung in mehreren Linux-Komponenten entdeckt haben. Letzteres ist zusammen mit dem anderen namens CVE-2021-44730 in snap-confine zu finden, dem Tool, das für die Erstellung von Sandboxen für die Snap-App verantwortlich ist.
Was ist Snap?
Snap ist ein von Canonical entwickelter Paketmanager für Linux, der hinter der beliebten Desktop- und Server-Distribution Ubuntu steht. Es ermöglicht Ihnen, eigenständige Anwendungen namens „Snaps“ zu verpacken und zu verteilen, die in einem eingeschränkten Container ausgeführt werden und ein konfigurierbares Sicherheitsniveau bieten.
Überprüfen Sie auch:
Als eigenständige Anwendungen hat Snap keine externen Abhängigkeiten, wodurch es plattformübergreifend und plattformübergreifend verteilt werden kann. Traditionell unterhalten alle großen Linux-Distributionen ihr eigenes Repository und ihren eigenen Software-Manager. Debian hat DEB, Ubuntu hat PPA, Fedora und Red Hat hat RPM, Arch Linux hat Pacman und so weiter. Alle diese Systeme laden das erforderliche Paket zusammen mit allen anderen Abhängigkeiten als separate Pakete herunter. Snaps hingegen sind mit allen Abhängigkeiten gebündelt, die Sie benötigen, sodass sie global auf allen mit Snap ausgestatteten Linux-Systemen bereitgestellt werden können.
Snap wird standardmäßig mit Ubuntu und vielen Linux-Distributionen ausgeliefert und ist als Option für viele andere Distributionen, einschließlich der Major, verfügbar. Es wird verwendet, um nicht nur Desktop-, sondern auch Cloud- und IoT-Anwendungen zu verteilen.
Snap Confinement – oder Quarantäne – hat drei Sicherheitsstufen, wobei der strenge Modus von den meisten Apps verwendet wird. In diesem Modus müssen Apps den Zugriff auf Dateien, andere Prozesse oder das Netzwerk anfordern. Dies unterscheidet sich nicht vom Sandboxing-Modell der App und Berechtigungen von mobilen Betriebssystemen wie Android.
Da das Anwendungs-Sandboxing eines der Hauptmerkmale von Snap ist, gilt jede Schwachstelle, die es Ihnen ermöglicht, dieser Isolation zu entkommen und die Kontrolle über das Hostsystem zu übernehmen, als äußerst gefährlich.
Fehler bei der Rechteausweitung
Qualys-Forscher haben ihre begrenzte Schwachstelle „Oh Snap! More Lemmings“ genannt, weil sie einem anderen Blitz ähnelt, der 2019 mit dem Namen Dirty Sock entdeckt wurde. Seit Dirty Sock wurde Snap umfangreichen Sicherheitsprüfungen durch das SUSE-Sicherheitsteam unterzogen und ist im Allgemeinen sehr defensiv programmiert, wobei mehrere zentrale Sicherheitsfunktionen genutzt werden. Wie AppArmor-Profile, seccomp-Filter und Namespaces.
„Wir hätten unser Audit nach ein paar Tagen fast abgebrochen“, sagten die Qualys-Forscher in ihrem Bericht und fügten hinzu, dass „eine begrenzte Schwachstelle (insbesondere in der Standard-Ubuntu-Installation) extrem schwer zu erkennen und auszunutzen war.“
Das Team bemerkte jedoch einige kleinere Mängel und beschloss, weiterzumachen. Dies führte zur Entdeckung von zwei Privilegien-Eskalations-Schwachstellen: CVE-2021-44730, ein Hardlink-Angriff, der nur in nicht-virtuellen Konfigurationen verwendet werden kann, d. h. wenn fs.protected_hardlinks des Kernels 0 ist; und CVE-2021-44731, ein Race State, der auf virtuellen Ubuntu Desktop-Installationen und halbvirtuellen Ubuntu Server-Installationen verwendet werden kann.
„Dieser Race-Case eröffnet eine Welt voller Möglichkeiten: Innerhalb des Mount-Namespace von Snap (den wir über Snap-Confine selbst betreten können) können wir ein global beschreibbares, nicht klebbares Verzeichnis nach /tmp erstellen oder jedes andere mounten Verzeichnis, das Teil des Dateisystems in / tmp ist “- sagen Qualysa-Analysten. „Wir können diesen Race-State zuverlässig gewinnen, indem wir /tmp/snap.lxd mit inotify beobachten, unseren Exploit installieren und uns mit Sched_setaffinity() auf dieselbe CPU beschränken und die Scheduling-Priorität von snap-cline mit setpriority() und schedule_schedule senken.( )“ .
Bei der Untersuchung dieser Fehler entdeckten die Qualys-Forscher auch Fehler in Bibliotheken und anderen verwandten Komponenten, die Snap verwendet: nicht autorisierte Mounts in libmount util-linuxa (CVE-2021-3996 und CVE-2021-3995); Unerwarteter Rückgabewert von realpath() glibc (CVE-2021-3998); Pufferüberlauf/Ausfluss über einen in getcwd() glibc (CVE-2021-3999); Unkontrollierte Rekursion in systemd-tmpfiles (CVE-2021-3997). Diese Fehler wurden Anfang des Jahres in diesen Komponenten behoben.
Ubuntu hat Patches für CVE-2021-44731 und CVE-2021-44730 für die meisten unterstützten Linux-Versionen veröffentlicht, mit Ausnahme von ESM 16.04 (Extended Security Maintenance), das noch auf Patches wartet. Beide Schwachstellen werden als sehr gefährlich eingestuft.
Quelle: CSO
.