Eine Schwachstelle in XFS, die das Lesen von Rohdaten eines Blockgeräts ermöglicht.

Im Code des XFS-Dateisystems wurde eine Schwachstelle (CVE-2021-4155) entdeckt, die es einem lokalen, nicht privilegierten Benutzer ermöglicht, direkt Daten aus unbenutzten Blöcken von blockbasierten Geräten zu lesen. Alle bedeutenden Linux-Kernel-Versionen, die älter als 5.16 sind und den XFS-Treiber enthalten, sind hiervon betroffen. Die Behebung ist in der Version 5.16 sowie in den Updates der Kernel 5.15.14, 5.10.91, 5.4.171, 4.19.225 usw. enthalten. Der Status der Updates zur Behebung dieses Problems in den Distributionen kann auf den folgenden Seiten nachverfolgt werden: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

Die Schwachstelle wird durch das ungeeignete Verhalten zweier XFS-spezifischer ioctl-Funktionen (XFS_IOC_ALLOCSP und XFS_IOC_FREESP) verursacht, die funktional dem systemweiten Systemaufruf fallocate() ähneln. Beim Erhöhen der Größe einer Datei, die nicht auf die Blockgröße ausgerichtet ist, setzen die ioctl-Funktionen XFS_IOC_ALLOCSP/XFS_IOC_FREESP die restlichen Bytes bis zur nächsten Blockgrenze nicht auf Null. So kann ein Angreifer in einem XFS-Dateisystem mit einer Standardblockgröße von 4096 Bytes bis zu 4095 Bytes vorhergehend geschriebene Daten aus jedem Block lesen. In den betroffenen Bereichen können Daten von gelöschten Dateien, defragmentierten Dateien sowie von Dateien mit deduplizierten Blöcken enthalten sein.

Sie können Ihre System auf das Problem hin überprüfen, indem Sie einen einfachen Exploit-Prototyp verwenden. Wenn es gelingt, nach Ausführung der vorgeschlagenen Befehlsfolge den Text von Shakespeare zu lesen, ist der FS-Treiber anfällig. Für die Demonstration ist eine Superuser-Rechte für die ursprüngliche Einwahl in das XFS-Volume erforderlich.

Da ioctl(XFS_IOC_ALLOCSP) und ioctl(XFS_IOC_FREESP) in ihrer Funktionalität praktisch keine Unterschiede zum standardmäßigen fallocate() aufweisen und der einzige Unterschied ein Datenleck ist, könnte ihre Existenz wie ein Backdoor erscheinen. Trotz der allgemeinen Richtlinie, bestehende Schnittstellen im Kernel nicht zu ändern, wurde auf Vorschlag von Linus beschlossen, diese ioctls in der nächsten Version vollständig zu entfernen.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster