Bregusrwydd yn XFS sy'n caniatáu darllen data dyfais bloc amrwd

Mae bregusrwydd (CVE-2021-4155) wedi'i ddarganfod yn y cod system ffeiliau XFS sy'n caniatáu i ddefnyddiwr difreintiedig lleol ddarllen data bloc heb ei ddefnyddio yn uniongyrchol o ddyfais bloc. Mae'r mater hwn yn effeithio ar bob fersiwn fawr o'r cnewyllyn Linux sy'n hŷn na 5.16 sy'n cynnwys y gyrrwr XFS. Cynhwyswyd yr atgyweiriad yn fersiwn 5.16, yn ogystal â diweddariadau cnewyllyn 5.15.14, 5.10.91, 5.4.171, 4.19.225, ac ati. Gellir olrhain statws y genhedlaeth o ddiweddariadau gyda dileu'r broblem mewn dosbarthiadau ar y tudalennau hyn: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

Mae'r bregusrwydd yn cael ei achosi gan ymddygiad anghywir dau ioctl XFS-benodol (XFS_IOC_ALLOCSP) ac ioctl(XFS_IOC_FRESP), sef analog swyddogaethol galwad system cnewyllyn fallocate(). Wrth gynyddu maint ffeil nad yw wedi'i alinio â bloc, nid yw'r ioctls XFS_IOC_ALLOCSP/XFS_IOC_FREESP yn ailosod y beit cynffon tan ffin y bloc nesaf. Felly, ar XFS gyda maint bloc safonol o 4096 bytes o bob bloc, gall ymosodwr ddarllen hyd at 4095 beit o'r data ysgrifenedig blaenorol. Gall yr ardaloedd hyn gynnwys data o ffeiliau sydd wedi'u dileu, ffeiliau wedi'u dad-ddarnio, a ffeiliau â blociau wedi'u dad-ddyblygu.

Gallwch wirio'ch system am broblem gyda phrototeip ecsbloetio syml. Os, ar ôl gweithredu'r dilyniant arfaethedig o orchmynion, mae'n bosibl darllen testun Shakespeare, yna mae'r gyrrwr FS yn agored i niwed. Mae angen hawliau uwch-ddefnyddiwr i osod y rhaniad XFS yn y lle cyntaf ar gyfer yr arddangosiad.

Gan fod ioctl(XFS_IOC_ALLOCSP) ac ioctl(XFS_IOC_FRESP) bron yn union yr un fath o ran ymarferoldeb â'r fallocate safonol(), a'u hunig wahaniaeth yw gollyngiadau data, mae eu presenoldeb fel drws cefn. Er gwaethaf y polisi cyffredinol o beidio â newid rhyngwynebau presennol yn y cnewyllyn, ar awgrym Linus, mae'r penderfyniad wedi'i wneud i gael gwared ar yr ioctls hyn yn llwyr yn y fersiwn nesaf.

Ffynhonnell: opennet.ru

Ychwanegu sylw