Eine Schwachstelle in XFS ermöglicht das Lesen roher Daten von BlockgerÀten.

Im Code des XFS-Dateisystems wurde eine SicherheitsanfÀlligkeit (CVE-2021-4155) entdeckt, die es einem lokalen, nicht privilegierten Benutzer ermöglicht, Daten ungenutzter Blöcke direkt von dem BlockgerÀt zu lesen. Alle bedeutenden Linux-Kernelversionen Àlter als 5.16, die den XFS-Treiber enthalten, sind von diesem Problem betroffen. Der Fix wurde in Version 5.16 sowie in den Kernel-Updates 5.15.14, 5.10.91, 5.4.171, 4.19.225 usw. implementiert. Der Status der Aktualisierungen zur Behebung des Problems in den Distributionen kann auf den folgenden Seiten nachverfolgt werden: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

Die SicherheitsanfĂ€lligkeit wird durch das fehlerhafte Verhalten von zwei spezifischen XFS ioctl(XFS_IOC_ALLOCSP) und ioctl(XFS_IOC_FREESP) verursacht, die funktional dem Kernel-Systemaufruf fallocate() entsprechen. Beim Erhöhen der DateigrĂ¶ĂŸe, die nicht auf die BlockgrĂ¶ĂŸe ausgerichtet ist, setzen die ioctls XFS_IOC_ALLOCSP/XFS_IOC_FREESP die letzten Bytes nicht auf die nĂ€chste Blockgrenze zurĂŒck. So kann ein Angreifer auf XFS mit einer StandardblockgrĂ¶ĂŸe von 4096 Bytes bis zu 4095 Bytes der zuvor geschriebenen Daten aus jedem Block lesen. In den angegebenen Bereichen könnten Daten von gelöschten Dateien, defragmentierten Dateien sowie von Dateien mit deduplizierten Blöcken enthalten sein.

Um Ihr System auf das Problem zu ĂŒberprĂŒfen, können Sie einen einfachen Exploit-Prototyp verwenden. Wenn Sie nach der AusfĂŒhrung der vorgeschlagenen Befehlsfolge den Text von Shakespeare lesen können, ist der Dateisystemtreiber anfĂ€llig. Das ursprĂŒngliche Einbinden der XFS-Partition zur Demonstration erfordert Superuser-Rechte.

Da ioctl(XFS_IOC_ALLOCSP) und ioctl(XFS_IOC_FREESP funktional praktisch nicht von der Standardfunktion fallocate() abweichen und der einzige Unterschied darin besteht, dass Daten dadurch geleakt werden, Àhnelt ihre Existenz einem Backdoor. 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

60GB SSD 8Gb DDR4