Sicherheitslücke in OverlayFS, die eine Rechteausweitung ermöglicht

Im Linux-Kernel wurde eine Schwachstelle in der Implementierung des OverlayFS-Dateisystems (CVE-2023-0386) identifiziert, die dazu genutzt werden kann, Root-Zugriff auf Systemen zu erhalten, auf denen das FUSE-Subsystem installiert ist, und das Mounten von OverlayFS-Partitionen durch ein zu ermöglichen unprivilegierter Benutzer (beginnend mit dem Linux-Kernel 5.11 mit der Einbeziehung des Namensraums für unprivilegierte Benutzer). Das Problem wurde im 6.2-Kernelzweig behoben. Die Veröffentlichung von Paketaktualisierungen in Distributionen kann auf den Seiten verfolgt werden: Debian, Ubuntu, Gentoo, RHEL, SUSE, Fedora, Arch.

Der Angriff erfolgt durch Kopieren von Dateien mit Setgid/Setuid-Flags von einer im Nosuid-Modus gemounteten Partition auf eine OverlayFS-Partition, die über eine mit der Partition verknüpfte Ebene verfügt, die die Ausführung von Suid-Dateien ermöglicht. Die Schwachstelle ähnelt dem im Jahr 2021 identifizierten Problem CVE-3847-2021, hat jedoch geringere Ausnutzungsanforderungen – das alte Problem erforderte die Manipulation von xattrs, was bei der Verwendung von Benutzernamensräumen begrenzt ist, und das neue Problem verwendet die Bits setgid/setuid, die es sind wird im Benutzernamensraum nicht speziell behandelt.

Angriffsalgorithmus:

  • Mit dem FUSE-Subsystem wird ein Dateisystem gemountet, in dem sich eine ausführbare Datei des Root-Benutzers mit setuid/setgid-Flags befindet, auf die alle Benutzer zum Schreiben zugreifen können. Beim Mounten stellt FUSE den Modus auf „nosuid“ ein.
  • Benutzer-/Mount-Namespaces werden nicht gemeinsam genutzt.
  • OverlayFS wird gemountet, wobei das zuvor in FUSE erstellte FS als unterste Ebene und die oberste Ebene basierend auf einem beschreibbaren Verzeichnis angegeben wird. Das Verzeichnis der obersten Ebene muss sich in einem Dateisystem befinden, das beim Mounten nicht das Flag „nosuid“ verwendet.
  • Für eine SUID-Datei in der FUSE-Partition ändert das Touch-Dienstprogramm die Änderungszeit, was dazu führt, dass sie in die oberste Ebene von OverlayFS kopiert wird.
  • Beim Kopieren löscht der Kernel die setgid/setuid-Flags nicht, was dazu führt, dass die Datei in einer Partition erscheint, die die setgid/setuid-Verarbeitung zulässt.
  • Um Root-Rechte zu erhalten, führen Sie einfach die Datei mit den setgid/setuid-Flags aus dem Verzeichnis aus, das an die oberste Ebene von OverlayFS angehängt ist.

Darüber hinaus können wir die Offenlegung von Informationen durch Forscher des Google Project Zero-Teams über drei Schwachstellen zur Kenntnis nehmen, die im Hauptzweig des Linux-Kernels 5.15 behoben, aber nicht auf Pakete mit dem Kernel von RHEL 8.x/9 übertragen wurden. x und CentOS Stream 9.

  • CVE-2023-1252 – Zugriff auf einen bereits freigegebenen Speicherbereich in der Struktur ovl_aio_req, wenn mehrere Vorgänge gleichzeitig in OverlayFS ausgeführt werden, das auf dem Ext4-Dateisystem bereitgestellt wird. Die Sicherheitslücke ermöglicht es Ihnen möglicherweise, Ihre Berechtigungen im System zu erhöhen.
  • CVE-2023-0590 – Zugriff auf bereits freigegebenen Speicher in der Funktion qdisc_graft(). Es wird davon ausgegangen, dass der Betrieb auf eine abnormale Beendigung beschränkt ist.
  • CVE-2023-1249 Ein bereits freigegebener Speicherzugriff im Coredump-Schreibcode tritt aufgrund eines verpassten Aufrufs von mmap_lock in file_files_note auf. Es wird davon ausgegangen, dass der Betrieb auf eine abnormale Beendigung beschränkt ist.

Source: opennet.ru

Kommentar hinzufügen