Уязвимости Π² подсистСмата eBPF, ΠΊΠΎΠΈΡ‚ΠΎ позволяват изпълнСниС Π½Π° ΠΊΠΎΠ΄ Π½Π° Π½ΠΈΠ²ΠΎ ядро ​​на Linux

Бяха ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Π½ΠΈ Π΄Π²Π΅ Π½ΠΎΠ²ΠΈ уязвимости Π² подсистСмата eBPF, която Π²ΠΈ позволява Π΄Π° стартиратС ΠΌΠ°Π½ΠΈΠΏΡƒΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π²ΡŠΡ‚Ρ€Π΅ Π² ядрото Π½Π° Linux Π² спСциална Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина с JIT. И Π΄Π²Π΅Ρ‚Π΅ уязвимости правят възмоТно ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° вашия ΠΊΠΎΠ΄ с ΠΏΡ€Π°Π²Π° Π½Π° ядрото, извън ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π° eBPF Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина. Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈΡ‚Π΅ бСшС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΎΡ‚ Π΅ΠΊΠΈΠΏΠ° Π½Π° Zero Day Initiative, ΠΊΠΎΠΉΡ‚ΠΎ ΠΏΡ€ΠΎΠ²Π΅ΠΆΠ΄Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅Ρ‚ΠΎ Pwn2Own, ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‚Π°Π·ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° бяха дСмонстрирани Ρ‚Ρ€ΠΈ Π°Ρ‚Π°ΠΊΠΈ Π½Π° Ubuntu Linux, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‰ΠΈ нСизвСстни досСга уязвимости (Π½Π΅ сС ΡΡŠΠΎΠ±Ρ‰Π°Π²Π° Π΄Π°Π»ΠΈ уязвимоститС Π² eBPF са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Ρ‚Π΅Π·ΠΈ Π°Ρ‚Π°ΠΊΠΈ) .

  • CVE-2021-3490 – Уязвимостта Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½Π° ΠΎΡ‚ липса Π½Π° 32-Π±ΠΈΡ‚ΠΎΠ²Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° извън Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ ΠΏΡ€ΠΈ изпълнСниС Π½Π° ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ И, Π˜Π›Π˜ ΠΈ XOR Π² eBPF ALU32. НападатСлят ΠΌΠΎΠΆΠ΅ Π΄Π° сС възползва ΠΎΡ‚ Ρ‚Π°Π·ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ°, Π·Π° Π΄Π° Ρ‡Π΅Ρ‚Π΅ ΠΈ записва Π΄Π°Π½Π½ΠΈ извън Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° разпрСдСлСния Π±ΡƒΡ„Π΅Ρ€. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ XOR сС появява ΠΎΡ‚ вСрсия Π½Π° ядрото 5.7-rc1, Π° И ΠΈ Π˜Π›Π˜ - ΠΎΡ‚ 5.10-rc1.
  • CVE-2021-3489 - Уязвимостта Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½Π° ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠ° ΠΏΡ€ΠΈ внСдряванСто Π½Π° ΠΏΡ€ΡŠΡΡ‚Π΅Π½Π½ΠΈΡ Π±ΡƒΡ„Π΅Ρ€ ΠΈ сС дълТи Π½Π° Ρ„Π°ΠΊΡ‚Π°, Ρ‡Π΅ функцията bpf_ringbuf_reserve Π½Π΅ Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠ»Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ΡŠΡ‚ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°Ρ‚Π° област Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° Π΄Π° Π΅ ΠΏΠΎ-малък ΠΎΡ‚ дСйствитСлния Ρ€Π°Π·ΠΌΠ΅Ρ€ Π½Π° Ρ€ΠΈΠ½Π³Π±ΡƒΡ„Π°. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ сС появява ΠΎΡ‚ вСрсия 5.8-rc1.

Π‘ΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° корСкция Π½Π° уязвимости Π² дистрибуции ΠΌΠΎΠΆΠ΅ Π΄Π° сС прослСди Π½Π° Ρ‚Π΅Π·ΠΈ страници: Ubuntu, Debian, RHEL, Fedora, SUSE, Arch). ΠŸΠΎΠΏΡ€Π°Π²ΠΊΠΈΡ‚Π΅ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ ΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΏΠ°Ρ‡ΠΎΠ²Π΅ (CVE-2021-3489, CVE-2021-3490). Π”Π°Π»ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ зависи ΠΎΡ‚ Ρ‚ΠΎΠ²Π° Π΄Π°Π»ΠΈ систСмното ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° eBPF Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΎ Π·Π° потрСбитСля. НапримСр, Π² конфигурацията ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² RHEL, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° уязвимостта изисква потрСбитСлят Π΄Π° ΠΈΠΌΠ° CAP_SYS_ADMIN ΠΏΡ€Π°Π²Π°.

ΠžΡ‚Π΄Π΅Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈΠΌ Π΄Ρ€ΡƒΠ³Π° уязвимост Π² ядрото Π½Π° Linux - CVE-2021-32606, която позволява Π½Π° Π»ΠΎΠΊΠ°Π»Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π» Π΄Π° повиши своитС ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Π΄ΠΎ Π½ΠΈΠ²ΠΎ root. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡŠΡ‚ Π΅ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π΅Π½ ΠΎΡ‚ ядрото Π½Π° Linux 5.11 ΠΈ Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ ΠΎΡ‚ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΡΡŠΡΡ‚Π΅Π·Π°Π½ΠΈΠ΅ Π² ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° CAN ISOTP, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈ възмоТно промяната Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ Π½Π° сокСта ΠΏΠΎΡ€Π°Π΄ΠΈ липсата Π½Π° настройка Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΈΡ‚Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½ΠΈΡ във функцията isotp_setsockopt(). ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Ρ„Π»Π°Π³Π° CAN_ISOTP_SF_BROADCAST.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ISOTP ΡΠΎΠΊΠ΅Ρ‚ΡŠΡ‚ Π΅ Π·Π°Ρ‚Π²ΠΎΡ€Π΅Π½, ΠΎΠ±Π²ΡŠΡ€Π·Π²Π°Π½Π΅Ρ‚ΠΎ към сокСта Π½Π° получатСля остава Π² сила, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° структуритС, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ със сокСта, слСд ΠΊΠ°Ρ‚ΠΎ ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, ΡΠ²ΡŠΡ€Π·Π°Π½Π° с тях, бъдС освободСна (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ слСд освобоТдаванС ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° isotp_sock структура ΠΊΠΎΠΉΡ‚ΠΎ Π²Π΅Ρ‡Π΅ Π΅ Π±ΠΈΠ» освободСн ΠΏΡ€ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° isotp_rcv(). Π§Ρ€Π΅Π· ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ указатСля към функцията sk_error_report() ΠΈ Π΄Π° ΠΈΠ·ΠΏΡŠΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ΄Π° си Π½Π° Π½ΠΈΠ²ΠΎ ядро.

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

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