Zehfbûna di XFS de ku dihêle ku daneyên cîhaza bloka xav were xwendin

Di koda pergala pelan a XFS de qelsiyek (CVE-2021-4155) hate nas kirin ku destûrê dide bikarhênerek bêdestûr a herêmî ku daneyên blokê yên nekarandî rasterast ji amûrek blokê bixwîne. Hemî guhertoyên sereke yên kernel Linux ji 5.16 kevntir ên ku ajokera XFS-ê vedihewîne ji vê pirsgirêkê bandor dibin. Serastkirin di guhertoya 5.16 de, û her weha di nûvekirinên kernel 5.15.14, 5.10.91, 5.4.171, 4.19.225, hwd. Rewşa nûvekirinên ku ji bo çareserkirina pirsgirêkê di belavkirinan de têne çêkirin dikarin li ser van rûpelan werin şopandin: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

Zehfbûn ji ber reftarên nerast ên du XFS-taybetî ioctl(XFS_IOC_ALLOCSP) û ioctl(XFS_IOC_FREESP), ku analogek fonksiyonel a banga pergala falocate()-ya fireh a kernelê ne, çêdibe. Dema ku mezinahiya pelê ku ne bi blokê ve girêdayî ye zêde dike, ioctls XFS_IOC_ALLOCSP/XFS_IOC_FREESP heta sînorê blokê yê din baytên dûvikê venegerîne sifirê. Ji ber vê yekê, li ser XFS-ê bi mezinahiya blokê ya standard 4096 byte, êrîşkar dikare ji her blokê heya 4095 bytes daneyên nivîskî yên berê bixwîne. Dibe ku di van deveran de daneyên pelên jêbirin, pelên defragmented, û pelên bi blokên jêkirî hene.

Hûn dikarin pergala xwe ji bo pirsgirêkê bi karanîna prototîpa karanîna hêsan biceribînin. Ger, piştî pêkanîna rêzika fermanan a pêşniyarkirî, gengaz e ku meriv nivîsa Shakespeare bixwîne, wê hingê ajokera FS-ê xeternak e. Di destpêkê de sazkirina dabeşek XFS ji bo xwenîşandanê mafên root hewce dike.

Ji ber ku ioctl (XFS_IOC_ALLOCSP) û ioctl (XFS_IOC_FREESP) bi pratîkî di fonksiyonê de wekî fallocate standard (), yek in, û cûdahiya wan tenê rijandina daneyê ye, hebûna wan mîna deriyek paşde ye. Tevî polîtîkaya giştî ya neguhertina navberên heyî yên di kernelê de, li ser pêşniyara Linus, biryar hate girtin ku di guhertoya din de van ioctl bi tevahî were rakirin.

Source: opennet.ru

Add a comment