Veikleiki í XFS sem gerir kleift að lesa hrá blokkartækisgögn

Varnarleysi (CVE-2021-4155) hefur verið auðkennt í XFS skráarkerfiskóðanum sem gerir staðbundnum óforréttindum notanda kleift að lesa ónotuð blokkargögn beint úr blokkartæki. Allar helstu útgáfur af Linux kjarnanum eldri en 5.16 sem innihalda XFS bílstjórinn verða fyrir áhrifum af þessu vandamáli. Lagfæringin var innifalin í útgáfu 5.16, sem og í kjarnauppfærslum 5.15.14, 5.10.91, 5.4.171, 4.19.225 o.s.frv. Hægt er að fylgjast með stöðu uppfærslur sem eru búnar til til að laga vandamálið í dreifingum á þessum síðum: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

Varnarleysið stafar af rangri hegðun tveggja XFS-sértækra ioctl(XFS_IOC_ALLOCSP) og ioctl(XFS_IOC_FREESP), sem eru virk hliðstæða fallocate() kerfiskallsins fyrir kjarnann. Þegar stækkað er skráarstærð sem er ekki blokkarjafnað, endurstilla ioctls XFS_IOC_ALLOCSP/XFS_IOC_FREESP halabætin ekki á núll fyrr en næstu blokkamörk. Þannig, á XFS með staðlaða blokkastærð 4096 bæti, getur árásarmaður lesið allt að 4095 bæti af fyrri skrifuðum gögnum úr hverri blokk. Þessi svæði kunna að innihalda gögn úr eyddum skrám, afbrotnum skrám og skrám með tvíteknum blokkum.

Þú getur prófað kerfið þitt fyrir vandamálinu með því að nota einfalda frumgerð. Ef hægt er að lesa texta Shakespeares, eftir að hafa framkvæmt fyrirhugaða röð skipana, þá er FS-ökumaðurinn viðkvæmur. Uppsetning á XFS skipting til að sýna upphaflega þarf rótarréttindi.

Þar sem ioctl(XFS_IOC_ALLOCSP) og ioctl(XFS_IOC_FREESP) eru nánast þau sömu að virkni og staðlaða fallocate(), og eini munurinn á þeim er gagnaleki, er tilvist þeirra svipuð og bakdyr. Þrátt fyrir þá almennu stefnu að breyta ekki núverandi viðmótum í kjarnanum, að tillögu Linus, var ákveðið að fjarlægja þessa ioctls algjörlega í næstu útgáfu.

Heimild: opennet.ru

Bæta við athugasemd