Уязвимост Π² подсистСмата iSCSI Π½Π° ядрото Π½Π° Linux, която позволява Сскалация Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ

Π‘Π΅ΡˆΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° уязвимост (CVE-2021-27365) Π² ΠΊΠΎΠ΄Π° Π½Π° подсистСмата iSCSI Π½Π° ядрото Π½Π° Linux, която позволява Π½Π° Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π΄Π° изпълни ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ядро ​​и Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ root ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π² систСмата. Π Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° Сксплойта Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ΅Π½ Π·Π° тСстванС. Уязвимостта бСшС адрСсирана Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ядрото Π½Π° Linux 5.11.4, 5.10.21, 5.4.103, 4.19.179, 4.14.224, 4.9.260 ΠΈ 4.4.260. АктуализациитС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π½Π° ядрото са Π½Π°Π»ΠΈΡ‡Π½ΠΈ Π² дистрибуции Π½Π° Debian, Ubuntu, SUSE/openSUSE, Arch Linux ΠΈ Fedora. ВсС ΠΎΡ‰Π΅ Π½Π΅ са пуснати ΠΊΠΎΡ€Π΅ΠΊΡ†ΠΈΠΈ Π·Π° RHEL.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠ° във функцията iscsi_host_get_param() ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»Π° libiscsi, въвСдСна ΠΏΡ€Π΅Π· 2006 Π³. ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° подсистСмата iSCSI. ΠŸΠΎΡ€Π°Π΄ΠΈ липса Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, някои iSCSI Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈ Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅, ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ΅ Π½Π° хост ΠΈΠ»ΠΈ потрСбитСлско ΠΈΠΌΠ΅, ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°Π΄Ρ…Π²ΡŠΡ€Π»ΡΡ‚ стойността PAGE_SIZE (4 KB). Уязвимостта ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΎΡ‚ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π», ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Ρ‰ Netlink ΡΡŠΠΎΠ±Ρ‰Π΅Π½ΠΈΡ, ΠΊΠΎΠΈΡ‚ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ iSCSI Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈ Π½Π° стойности, ΠΏΠΎ-Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΎΡ‚ PAGE_SIZE. ΠšΠΎΠ³Π°Ρ‚ΠΎ Ρ‚Π΅Π·ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈ сС Ρ‡Π΅Ρ‚Π°Ρ‚ Ρ‡Ρ€Π΅Π· sysfs ΠΈΠ»ΠΈ seqfs, сС ΠΈΠ·Π²ΠΈΠΊΠ²Π° ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π°Π²Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΈΡ‚Π΅ Π½Π° функцията sprintf, Π·Π° Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΠΏΠΈΡ€Π°Π½ΠΈ Π² Π±ΡƒΡ„Π΅Ρ€, Ρ‡ΠΈΠΉΡ‚ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΅ PAGE_SIZE.

Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° уязвимостта Π² дистрибуциитС зависи ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° Π½Π° ядрото scsi_transport_iscsi ΠΏΡ€ΠΈ ΠΎΠΏΠΈΡ‚ Π·Π° създаванС Π½Π° NETLINK_ISCSI сокСт. Π’ дистрибуции, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄ΡƒΠ» сС Π·Π°Ρ€Π΅ΠΆΠ΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, Π°Ρ‚Π°ΠΊΠ°Ρ‚Π° ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° нСзависимо ΠΎΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° iSCSI функционалност. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅, Π·Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Сксплойта, Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ сС изисква рСгистрация Π½Π° ΠΏΠΎΠ½Π΅ Π΅Π΄ΠΈΠ½ iSCSI транспорт. На свой Ρ€Π΅Π΄, Π·Π° Π΄Π° рСгистриратС транспорт, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π° Π½Π° ядрото ib_iser, ΠΊΠΎΠΉΡ‚ΠΎ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» сС ΠΎΠΏΠΈΡ‚Π° Π΄Π° създадС NETLINK_RDMA сокСт.

Автоматичното Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Сксплойт ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° Π² CentOS 8, RHEL 8 ΠΈ Fedora ΠΏΡ€ΠΈ инсталиранС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Π° rdma-core Π² систСмата, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ зависимост Π·Π° някои популярни ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ ΠΈ сС инсталира ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ станции, ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ систСми с Виртуализация Π½Π° GUI ΠΈ хост срСди. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, rdma-core Π½Π΅ сС инсталира, ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡŠΡ€Π²ΡŠΡ€Π½Π° сборка, която Ρ€Π°Π±ΠΎΡ‚ΠΈ само Π² ΠΊΠΎΠ½Π·ΠΎΠ»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ сС инсталира ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ инсталационно ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅. НапримСр, ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π² Π±Π°Π·ΠΎΠ²Π°Ρ‚Π° дистрибуция Π½Π° Fedora 31 Workstation, Π½ΠΎ Π½Π΅ Π΅ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ във Fedora 31 Server. Debian ΠΈ Ubuntu са ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΏΠΎΠ΄Π°Ρ‚Π»ΠΈΠ²ΠΈ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ΡŠΡ‚ rdma-core Π·Π°Ρ€Π΅ΠΆΠ΄Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈΡ‚Π΅ Π½Π° ядрото, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π·Π° Π°Ρ‚Π°ΠΊΠ°Ρ‚Π°, само Π°ΠΊΠΎ Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ RDMA Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€.

Уязвимост Π² подсистСмата iSCSI Π½Π° ядрото Π½Π° Linux, която позволява Сскалация Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ

ΠšΠ°Ρ‚ΠΎ Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»Π½ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° сигурност ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π΄Π΅Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Ρ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ‚ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»Π° libiscsi: echo β€œinstall libiscsi /bin/true” >> /etc/modprobe.d/disable-libiscsi.conf

ОсвСн Ρ‚ΠΎΠ²Π° Π΄Π²Π΅ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ опасни уязвимости, ΠΊΠΎΠΈΡ‚ΠΎ Π±ΠΈΡ…Π° ΠΌΠΎΠ³Π»ΠΈ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π°Ρ‚ Π΄ΠΎ ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ ядрото, са ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ΠΈ Π² подсистСмата iSCSI: CVE-2021-27363 (ΠΈΠ·Ρ‚ΠΈΡ‡Π°Π½Π΅ Π½Π° информация Π·Π° iSCSI транспортСн дСскриптор Ρ‡Ρ€Π΅Π· sysfs) ΠΈ CVE-2021-27364 (Π±ΡƒΡ„Π΅Ρ€ извън Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠŸΡ€ΠΎΡ‡Π΅Ρ‚ΠΈ) . Π’Π΅Π·ΠΈ уязвимости ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π·Π° комуникация Ρ‡Ρ€Π΅Π· netlink сокСт с подсистСмата iSCSI Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ. НапримСр, Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΡΠ²ΡŠΡ€ΠΆΠ΅ с iSCSI ΠΈ Π΄Π° ΠΈΠ·Π΄Π°Π΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° β€žΠΊΡ€Π°ΠΉ Π½Π° ΡΠ΅ΡΠΈΡβ€œ, Π·Π° Π΄Π° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈ сСсията.

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

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€