SicherheitsanfÀlligkeit in Firejail, die Root-Zugriff auf das System ermöglicht

In dem Tool zur isolierten AusfĂŒhrung von Anwendungen Firejail wurde eine SicherheitsanfĂ€lligkeit (CVE-2022-31214) festgestellt, die es einem lokalen Benutzer ermöglicht, Root-Rechte im Hauptsystem zu erlangen. Ein funktionierender Exploit ist öffentlich verfĂŒgbar und wurde in aktuellen Versionen von openSUSE, Debian, Arch, Gentoo und Fedora mit installierter Firejail-Utility getestet. Das Problem wurde in der Version 0.9.70 von Firejail behoben. Als Sicherheitsumgehung können in den Einstellungen (\/etc\/firejail\/firejail.config) die Parameter „join no“ und „force-nonewprivs yes“ festgelegt werden.

Firejail verwendet zur Isolation den Mechanismus der Namespaces, AppArmor und die Filterung von Systemaufrufen (seccomp-bpf) in Linux, benötigt jedoch zur Konfiguration des isolierten Starts erhöhte Rechte, die es durch Anbindung an die SUID-Root-Utility oder durch die Verwendung von sudo erhĂ€lt. Die SicherheitsanfĂ€lligkeit wird durch einen Fehler in der Logik der Option „—join=“ verursacht, die fĂŒr den Anschluss an eine bereits laufende isolierte Umgebung vorgesehen ist (analog zum Befehl login fĂŒr Sandbox-Umgebungen) und die Umgebung anhand der Prozess-ID (PID) erkennt. Vor dem ZurĂŒcksetzen der Privilegien ermittelt Firejail die Privilegien des angegebenen Prozesses und wendet diese auf den neuen Prozess an, der ĂŒber die Option „—join“ an die Umgebung angeschlossen wird.

Vor dem Anschluss wird ĂŒberprĂŒft, ob der angegebene Prozess in der Firejail-Umgebung ausgefĂŒhrt wird. Diese ÜberprĂŒfung bewertet das Vorhandensein der Datei \/run\/firejail\/mnt\/join. Um die Schwachstelle auszunutzen, kann der Angreifer eine fiktive, nicht isolierte Firejail-Umgebung simulieren, indem er den Mount-Namespace verwendet, und sich dann ĂŒber die Option „—join“ anschließen. Wenn in den Einstellungen der Modus zur Verhinderung des Erhalts zusĂ€tzlicher Privilegien in neuen Prozessen (prctl NO_NEW_PRIVS) nicht aktiviert ist, wird Firejail den Benutzer mit der fiktiven Umgebung verbinden und versuchen, die Konfiguration des Nutzer-ID-Namespace des Init-Prozesses (PID 1) anzuwenden.

Schließlich wird der ĂŒber «firejail —join» verbundene Prozess im ursprĂŒnglichen Namensraum des Benutzers mit unverĂ€nderten Rechten erscheinen, jedoch in einem anderen Dateisystembereich, der vollstĂ€ndig vom Angreifer kontrolliert wird. Der Angreifer kann auch setuid-root-Programme in diesem von ihm erstellten Dateisystembereich ausfĂŒhren, was es ihm beispielsweise ermöglicht, die Einstellungen von /etc/sudoers oder die PAM-Parameter in seiner Dateihierarchie zu Ă€ndern und die Möglichkeit zu erhalten, Befehle mit root-Rechten ĂŒber die Tools sudo oder su auszufĂŒhren.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster