SicherheitsanfÀlligkeit in OverlayFS, die es ermöglicht, Privilegien zu erhöhen.

Im Linux-Kernel wurde eine Schwachstelle in der Implementierung des OverlayFS-Dateisystems entdeckt (CVE-2023-0386), die ausgenutzt werden kann, um Root-Zugriff auf Systemen zu erhalten, auf denen das FUSE-Subsystem installiert ist und das Einbinden von OverlayFS-Partitionen durch nicht privilegierte Benutzer erlaubt ist (beginnend mit Kernel 5.11 mit aktivierten nicht privilegierten User Namespaces). Das Problem wurde im Kernel-Zweig 6.2 behoben. Die Veröffentlichung von Paket-Updates in den Distributionen kann auf den Seiten verfolgt werden: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Der Angriff erfolgt durch das Kopieren von Dateien mit den setgid/setuid-Flags aus einer Partition, die im nosuid-Modus eingebunden ist, in das OverlayFS, welches eine Schicht hat, die mit einer Partition verbunden ist, die die AusfĂŒhrung von suid-Dateien erlaubt. Die Schwachstelle ist Ă€hnlich der Problematik CVE-2021-3847, die 2021 entdeckt wurde, unterscheidet sich jedoch durch geringere Exploit-Anforderungen – in dem alten Problem waren Manipulationen mit xattrs erforderlich, die bei der Verwendung von User Namespaces eingeschrĂ€nkt sind, wĂ€hrend in dem neuen Problem die setgid/setuid-Bits verwendet werden, die im User Namespace speziell nicht behandelt werden.

Angriffsalgorithmus:

  • Über das FUSE-Subsystem wird ein Dateisystem gemountet, in dem eine ausfĂŒhrbare Datei des Benutzers root mit setuid/setgid-Flags vorhanden ist, die fĂŒr alle Benutzer schreibbar ist. Beim Einbinden stellt FUSE den Modus "nosuid" ein.
  • Die Benutzer- und Mount-Namespace werden aufgebrochen (unshare).
  • OverlayFS wird montiert, wobei das zuvor in FUSE erstellte Dateisystem als untere Schicht und eine Schreib-gestattete obere Schicht auf Basis eines Verzeichnisses angegeben wird. Das Verzeichnis der oberen Schicht muss in einem Dateisystem liegen, das beim Einbinden nicht mit dem "nosuid"-Flag versehen wird.
  • FĂŒr die suid-Datei im FUSE-Bereich wird mit dem Dienstprogramm touch die Änderungszeit geĂ€ndert, was dazu fĂŒhrt, dass sie in die obere Schicht des OverlayFS kopiert wird.
  • Beim Kopieren entfernt der Kernel nicht die setgid/setuid-Flags, sodass die Datei in der Partition erscheint, die die Bearbeitung von setgid/setuid erlaubt.
  • Um Root-Rechte zu erlangen, genĂŒgt es, die Datei mit den setgid/setuid-Flags aus dem Verzeichnis, das an die obere Schicht des OverlayFS angehĂ€ngt ist, auszufĂŒhren.

ZusÀtzlich ist zu erwÀhnen, dass Forscher des Google Project Zero-Teams drei Schwachstellen offenbart haben, die im Hauptzweig des Linux-Kernels 5.15 behoben wurden, aber nicht in die Kernel-Pakete von RHEL 8.x/9.x und CentOS Stream 9 integriert wurden.

  • CVE-2023-1252 — Zugriff auf einen bereits freigegebenen Speicherbereich in der Struktur ovl_aio_req bei zeitgleichem AusfĂŒhren mehrerer Operationen in OverlayFS, die ĂŒber dem Ext4-Dateisystem bereitgestellt wird. Diese Schwachstelle ermöglicht potenziell die Erhöhung der Privilegien im System.
  • CVE-2023-0590 — Zugriff auf einen bereits freigegebenen Speicherbereich in der Funktion qdisc_graft(). Es wird angenommen, dass die Ausnutzung auf einen Absturz beschrĂ€nkt ist.
  • CVE-2023-1249 — Zugriff auf einen bereits freigegebenen Speicherbereich im Coredump-Schreibcode, der durch einen verpassten Aufruf von mmap_lock in file_files_note verursacht wird. Es wird angenommen, dass die Ausnutzung auf einen Absturz beschrĂ€nkt ist.

Quelle: opennet.ru

60GB SSD 8Gb DDR4