Vundebleco en XFS kiu permesas legi krudajn blokajn aparatajn datumojn

Vulnerabileco (CVE-2021-4155) estis identigita en la XFS-dosiersistemkodo, kiu permesas al loka senprivilegia uzanto legi neuzatajn blokajn datumojn rekte de bloka aparato. Ĉiuj ĉefaj versioj de la Linukso-kerno pli malnovaj ol 5.16, kiuj enhavas la XFS-ŝoforon, estas trafitaj de ĉi tiu problemo. La riparo estis inkluzivita en versio 5.16, same kiel en kernaj ĝisdatigoj 5.15.14, 5.10.91, 5.4.171, 4.19.225, ktp. La stato de ĝisdatigoj estantaj generitaj por ripari la problemon en distribuoj povas esti spurita sur ĉi tiuj paĝoj: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

La vundebleco estas kaŭzita de la malĝusta konduto de du XFS-specifa ioctl (XFS_IOC_ALLOCSP) kaj ioctl (XFS_IOC_FREESP), kiuj estas funkcia analogo de la tutkerna fallocate () sistemvoko. Pliigante dosiergrandecon kiu ne estas blok-vicigita, ioctls XFS_IOC_ALLOCSP/XFS_IOC_FREESP ne rekomencigas la vostajn bajtojn al nulo ĝis la sekva bloklimo. Tiel, sur XFS kun norma blokgrandeco de 4096 bajtoj, atakanto povas legi ĝis 4095 bajtojn da antaŭaj skribitaj datenoj de ĉiu bloko. Ĉi tiuj areoj povas enhavi datumojn de forigitaj dosieroj, defragmentitaj dosieroj kaj dosieroj kun deduplikataj blokoj.

Vi povas testi vian sistemon pri la problemo uzante simplan ekspluatprototipon. Se, post plenumi la proponitan sinsekvon de ordonoj, eblas legi la tekston de Ŝekspiro, tiam la FS-ŝoforo estas vundebla. Komence munti XFS-diskon por pruvo postulas radikajn privilegiojn.

Ĉar ioctl(XFS_IOC_ALLOCSP) kaj ioctl(XFS_IOC_FREESP) estas praktike la sama en funkcieco kiel la norma fallocate(), kaj ilia nura diferenco estas datumfluado, ilia ĉeesto estas simila al malantaŭa pordo. Malgraŭ la ĝenerala politiko ne ŝanĝi ekzistantajn interfacojn en la kerno, laŭ sugesto de Linus, estis decidite tute forigi ĉi tiujn ioktlojn en la sekva versio.

fonto: opennet.ru

Aldoni komenton