Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² XFS, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ сырыС Π΄Π°Π½Π½Ρ‹Π΅ Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства

Π’ ΠΊΠΎΠ΄Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы XFS ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ (CVE-2021-4155), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ² Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с Π±Π»ΠΎΡ‡Π½ΠΎΠ³ΠΎ устройства. ВсС Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ вСрсии ядра Linux ΡΡ‚Π°Ρ€ΡˆΠ΅ 5.16, содСрТащиС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ XFS, ΠΏΠΎΠ΄Π²Π΅Ρ€ΠΆΠ΅Π½Ρ‹ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅. Π˜ΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вошло Π² Π²Π΅Ρ€ΡΠΈΡŽ 5.16, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² обновлСния ядСр 5.15.14, 5.10.91, 5.4.171, 4.19.225 ΠΈ Ρ‚.Π΄. БостояниС формирования ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ с устранСниСм ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² дистрибутивах ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… страницах: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch.

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π΄Π²ΡƒΡ… спСцифичных для XFS ioctl(XFS_IOC_ALLOCSP) ΠΈ ioctl(XFS_IOC_FREESP), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Π°Π½Π°Π»ΠΎΠ³ΠΎΠΌ общСядСрного систСмного Π²Ρ‹Π·ΠΎΠ²Π° fallocate(). ΠŸΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Ρ„Π°ΠΉΠ»Π°, Π½Π΅ Π²Ρ‹Ρ€ΠΎΠ²Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ°, ioctl XFS_IOC_ALLOCSP/XFS_IOC_FREESP Π½Π΅ ΠΎΠ±Π½ΡƒΠ»ΡΡŽΡ‚ хвостовыС Π±Π°ΠΉΡ‚Ρ‹ Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π±Π»ΠΎΠΊΠ°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π½Π° XFS со стандартным Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π±Π»ΠΎΠΊΠ° 4096 Π±Π°ΠΉΡ‚ ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄ΠΎ 4095 Π±Π°ΠΉΡ‚ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… записанных Π΄Π°Π½Π½Ρ‹Ρ…. Π’ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… областях ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄Π΅Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² с Π΄Π΅Π΄ΡƒΠΏΠ»ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свою систСму Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ простого ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° эксплоита. Если послС выполнСния ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ удастся ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ тСкст ШСкспира, Ρ‚ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π€Π‘ уязвим. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π° XFS для дСмонстрации Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π°Π² ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ioctl(XFS_IOC_ALLOCSP) ΠΈ ioctl(XFS_IOC_FREESP) ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ практичСски Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ стандартного fallocate(), ΠΈ СдинствСнным ΠΈΡ… ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ΠΌ являСтся ΡƒΡ‚Π΅Ρ‡ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡ… Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° Π±Π΅ΠΊΠ΄ΠΎΡ€. НСсмотря Π½Π° ΠΎΠ±Ρ‰ΡƒΡŽ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΡƒ – Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ интСрфСйсы Π² ядрС, – ΠΏΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡŽ Линуса, принято Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ эти ioctl’Ρ‹ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ вСрсии.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru