Уязвимост Π² подсистСмата Π½Π° ядрото Linux Netfilter

Π’ Netfilter, подсистСмата Π½Π° ядрото Π½Π° Linux, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° Π·Π° Ρ„ΠΈΠ»Ρ‚Ρ€ΠΈΡ€Π°Π½Π΅ ΠΈ модификация Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ, Π΅ ΠΎΡ‚ΠΊΡ€ΠΈΡ‚Π° уязвимост (CVE-2021-22555), която позволява Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΏΡ€Π°Π²Π°Ρ‚Π° Π½Π° root Π² систСмата, Π΄ΠΎΡ€ΠΈ ΠΈ Π΄Π° сС Π½Π°ΠΌΠΈΡ€Π° Π² ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€. Π—Π° тСстванС Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ Π½Π° Сксплойт, ΠΊΠΎΠΉΡ‚ΠΎ заобикаля ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈΡ‚Π΅ Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° KASLR, SMAP ΠΈ SMEP. Π˜Π·ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ‚, ΠΎΡ‚ΠΊΡ€ΠΈΠ» уязвимостта, Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π°Π³Ρ€Π°Π΄Π° ΠΎΡ‚ Google Π² Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° 20 хиляди Π΄ΠΎΠ»Π°Ρ€Π° Π·Π° открития ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° заобикалянС Π½Π° изолацията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ Kubernetes Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° kCTF.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ сС проявява ΠΎΡ‚ ядрото 2.6.19, ΠΈΠ·Π΄Π°Π΄Π΅Π½ΠΎ ΠΏΡ€Π΅Π΄ΠΈ 15 Π³ΠΎΠ΄ΠΈΠ½ΠΈ, ΠΈ Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠ° Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ IPT_SO_SET_REPLACE ΠΈ IP6T_SO_SET_REPLACE, която Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΏΡ€Π΅ΠΏΡŠΠ»Π²Π°Π½Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π° ΠΏΡ€ΠΈ ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° спСциално ΠΎΡ„ΠΎΡ€ΠΌΠ΅Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Ρ‡Ρ€Π΅Π· ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° setsockopt Π² Ρ€Π΅ΠΆΠΈΠΌ compat. ΠŸΡ€ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΈ условия ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° compat_setsockopt() ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½ΠΎ само ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» с ΠΏΡ€Π°Π²Π° root, Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π·Π° Π°Ρ‚Π°ΠΊΠ° ΠΏΡ€Π°Π²Π° ΡΡŠΡ‰ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ ΠΎΡ‚ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π² систСми с Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ (user namespaces).

ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° създадС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΎΡ‚Π΄Π΅Π»Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» root ΠΈ ΠΎΡ‚ Π½Π΅Π³ΠΎ Π΄Π° Сксплоатира уязвимостта. НапримСр, Β«user namespacesΒ» ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ Π² Ubuntu ΠΈ Fedora, Π½ΠΎ Π½Π΅ Π΅ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€Π°Π½ Π² Debian ΠΈ RHEL. ΠŸΠ°Ρ‚Ρ‡ с корСкция Π½Π° уязвимостта Π΅ ΠΏΡ€ΠΈΠ΅Ρ‚ Π² ΡΡŠΡΡ‚Π°Π²Π° Π½Π° ядрото Π½Π° Linux Π½Π° 13 Π°ΠΏΡ€ΠΈΠ». АктуализациитС Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π²Π΅Ρ‡Π΅ са създадСни ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ‚Π΅ Debian, Arch Linux ΠΈ Fedora. Π’ Ubuntu, RHEL ΠΈ SUSE Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΡ‚Π΅ са Π² процСс Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ възниква във функцията xt_compat_target_from_user() ΠΏΠΎΡ€Π°Π΄ΠΈ Π½Π΅ΠΊΠΎΡ€Π΅ΠΊΡ‚Π½ΠΎ изчислСниС Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΏΡ€ΠΈ Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° структуритС Π½Π° ядрото слСд ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Π½Π΅ ΠΎΡ‚ 32-Π±ΠΈΡ‚ΠΎΠ²ΠΎ Π² 64-Π±ΠΈΡ‚ΠΎΠ²ΠΎ прСдставянС. Π“Ρ€Π΅ΡˆΠΊΠ°Ρ‚Π° позволява записванСто Π½Π° Ρ‡Π΅Ρ‚ΠΈΡ€ΠΈ Π½ΡƒΠ»Π΅Π²ΠΈ Π±Π°ΠΉΡ‚Π° Π½Π° всяка позиция извън ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎΡ‚ΠΎ Π±ΡƒΡ„Π΅Ρ€Π½ΠΎ пространство, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ ΠΎΡ‚ офсСт 0x4C. Π£ΠΊΠ°Π·Π°Π½Π°Ρ‚Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ сС ΠΎΠΊΠ°Π·Π°Π»Π° Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π° Π·Π° ΡΡŠΠ·Π΄Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Сксплойт, ΠΊΠΎΠΉΡ‚ΠΎ позволява ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€Π°Π²Π° root β€” Ρ‡Ρ€Π΅Π· изчистванС Π½Π° указатСля m_list->next Π² структурата msg_msg, създавайки условия Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π΄Π°Π½Π½ΠΈ слСд освобоТдаванС Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° (use-after-free), ΠΊΠΎΠ΅Ρ‚ΠΎ слСд Ρ‚ΠΎΠ²Π° Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ Π½Π° информация Π·Π° адрСси ΠΈ промяна Π½Π° Π΄Ρ€ΡƒΠ³ΠΈ структури Ρ‡Ρ€Π΅Π· манипулация със систСмния ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ msgsnd().

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster