Π‘ΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ Π² ΡΡŠΠ±ΠΈΡ€Π°Ρ‡Π° Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ Π½Π° ядрото Π½Π° Linux, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Сскалация Π½Π° ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ

Jann Horn ΠΎΡ‚ Π΅ΠΊΠΈΠΏΠ° Π½Π° Google Project Zero, ΠΊΠΎΠΉΡ‚ΠΎ вСднъТ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° уязвимоститС Spectre ΠΈ Meltdown, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° уязвимост (CVE-2021-4083) Π² ΡΡŠΠ±ΠΈΡ€Π°Ρ‡Π° Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ Π½Π° ядрото Π½Π° Linux. Уязвимостта сС дълТи Π½Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ почистванС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ дСскриптори Π½Π° unix сокСти ΠΈ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π½ΠΎ позволява Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π΄Π° изпълни своя ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ядро.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ интСрСсСн, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ врСмСвият ΠΏΡ€ΠΎΠ·ΠΎΡ€Π΅Ρ†, ΠΏΡ€Π΅Π· ΠΊΠΎΠΉΡ‚ΠΎ възниква ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅, сС оцСнява ΠΊΠ°Ρ‚ΠΎ Ρ‚Π²ΡŠΡ€Π΄Π΅ малък, Π·Π° Π΄Π° сС ΡΡŠΠ·Π΄Π°Π΄Π°Ρ‚ истински Сксплойти, Π½ΠΎ Π°Π²Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° изслСдванСто ΠΏΠΎΠΊΠ°Π·Π°, Ρ‡Π΅ Π΄ΠΎΡ€ΠΈ Ρ‚Π°ΠΊΠΈΠ²Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ скСптични уязвимости ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° станат ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° Ρ€Π΅Π°Π»Π½ΠΈ Π°Ρ‚Π°ΠΊΠΈ, Π°ΠΊΠΎ ΡΡŠΠ·Π΄Π°Ρ‚Π΅Π»ΡΡ‚ Π½Π° Сксплойта ΠΈΠΌΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ умСния ΠΈ Π²Ρ€Π΅ΠΌΠ΅. Π―Π½ Π₯ΠΎΡ€Π½ ΠΏΠΎΠΊΠ°Π·Π° ΠΊΠ°ΠΊ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° Ρ„ΠΈΠ»ΠΈΠ³Ρ€Π°Π½Π½ΠΈ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡ‚Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅, ΠΊΠΎΠ΅Ρ‚ΠΎ възниква ΠΏΡ€ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ close() ΠΈ fget() Π² напълно ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π΅ΠΌΠ° уязвимост Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ слСд освобоТдаванС ΠΈ Π΄Π° постигнСтС Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π²Π΅Ρ‡Π΅ освободСни Π΄Π°Π½Π½ΠΈ структура Π²ΡŠΡ‚Ρ€Π΅ Π² ядрото.

Π‘ΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ възниква ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° процСса Π½Π° затварянС Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ² дСскриптор, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ сС ΠΈΠ·Π²ΠΈΠΊΠ²Π°Ρ‚ close() ΠΈ fget() Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Π˜Π·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° close() ΠΌΠΎΠΆΠ΅ Π΄Π° сС появи ΠΏΡ€Π΅Π΄ΠΈ fget() Π΄Π° бъдС изпълнСно, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ ΠΎΠ±ΡŠΡ€ΠΊΠ° ΡΡŠΠ±ΠΈΡ€Π°Ρ‡Π° Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ спорСд refcount Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° структура няма Π΄Π° ΠΈΠΌΠ° външни ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‚ΠΊΠΈ, Π½ΠΎ Ρ‰Π΅ останС ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ΅Π½Π° към файловия дСскриптор, Ρ‚.Π΅. Π‘ΡŠΠ±ΠΈΡ€Π°Ρ‡ΡŠΡ‚ Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ Ρ‰Π΅ мисли, Ρ‡Π΅ ΠΈΠΌΠ° СксклузивСн Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ структурата, Π½ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ Π·Π° ΠΊΡ€Π°Ρ‚ΡŠΠΊ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ оставащият запис Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ дСскриптори всС ΠΎΡ‰Π΅ Ρ‰Π΅ сочи към структурата, която сС освобоТдава.

Π—Π° Π΄Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ вСроятността ΠΎΡ‚ Π½Π°Π²Π»ΠΈΠ·Π°Π½Π΅ Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅, бяха ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ няколко Ρ‚Ρ€ΠΈΠΊΠ°, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ…Π° възмоТно ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° вСроятността Π·Π° успСх Π½Π° Сксплоатацията Π΄ΠΎ 30% ΠΏΡ€ΠΈ въвСТданС Π½Π° спСцифични Π·Π° систСмата ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. НапримСр, Π·Π° Π΄Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ структура с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ дСскриптори с няколкостотин наносСкунди, Π΄Π°Π½Π½ΠΈΡ‚Π΅ бяха ΠΈΠ·Π³ΠΎΠ½Π΅Π½ΠΈ ΠΎΡ‚ кСша Π½Π° процСсора Ρ‡Ρ€Π΅Π· Π·Π°Ρ‚Ρ€ΡƒΠΏΠ²Π°Π½Π΅ Π½Π° кСша с активност Π½Π° Π΄Ρ€ΡƒΠ³ΠΎ ядро ​​на процСсора, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ възмоТно ΠΈΠ·Π²Π»ΠΈΡ‡Π°Π½Π΅Ρ‚ΠΎ Π½Π° структурата ΠΎΡ‚ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, Π° Π½Π΅ ΠΎΡ‚ Π±ΡŠΡ€Π·ΠΈΡΡ‚ кСш Π½Π° процСсора.

Π’Ρ‚ΠΎΡ€Π°Ρ‚Π° Π²Π°ΠΆΠ½Π° характСристика бСшС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ, Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€Π΅Π½ Ρ‚Π°ΠΉΠΌΠ΅Ρ€, Π·Π° Π΄Π° сС ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅. ΠœΠΎΠΌΠ΅Π½Ρ‚ΡŠΡ‚ бСшС ΠΈΠ·Π±Ρ€Π°Π½ Ρ‚Π°ΠΊΠ°, Ρ‡Π΅ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡΡ‚Π° Π΄Π° сС задСйства, ΠΊΠΎΠ³Π°Ρ‚ΠΎ възникнС ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ ΠΈ Π΄Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π΅ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ΄Π° Π·Π° извСстно Π²Ρ€Π΅ΠΌΠ΅. Π—Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΎ забавянС Π½Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°, ΠΎΠΊΠΎΠ»ΠΎ 50 хиляди записа Π² ΠΎΠΏΠ°ΡˆΠΊΠ°Ρ‚Π° Π·Π° ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅ бяха Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° epoll, ΠΊΠΎΠ΅Ρ‚ΠΎ изисквашС Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ ΠΏΡ€Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€Π° Π½Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Π½ΠΈΡ.

Π’Π΅Ρ…Π½ΠΈΠΊΠ°Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° уязвимостта бСшС Ρ€Π°Π·ΠΊΡ€ΠΈΡ‚Π° слСд 90-Π΄Π½Π΅Π²Π΅Π½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ Π½Π° Π½Π΅Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π°Π½Π΅. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ сС появява ΠΎΡ‚ ядрото 2.6.32 ΠΈ Π΅ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π½ Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ Π½Π° Π΄Π΅ΠΊΠ΅ΠΌΠ²Ρ€ΠΈ. ΠšΠΎΡ€Π΅ΠΊΡ†ΠΈΡΡ‚Π° бСшС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² ядрото 5.16 ΠΈ ΡΡŠΡ‰ΠΎ бСшС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΎ към LTS ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° ядрото ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ‚Π΅ Π½Π° ядрото, доставяни Π² дистрибуциитС. Врябва Π΄Π° сС ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈ, Ρ‡Π΅ уязвимостта Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ CVE-2021-0920, ΠΊΠΎΠΉΡ‚ΠΎ сС проявява Π² ΡΡŠΠ±ΠΈΡ€Π°Ρ‡Π° Π½Π° ΠΎΡ‚ΠΏΠ°Π΄ΡŠΡ†ΠΈ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ„Π»Π°Π³Π° MSG_PEEK.

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

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