Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ окруТСния QEMU

Раскрыты Π΄Π΅Ρ‚Π°Π»ΠΈ критичСской уязвимости (CVE-2019-14378) Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ SLIRP, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ примСняСмом Π² QEMU для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ°Π½Π°Π»Π° связи ΠΌΠ΅ΠΆΠ΄Ρƒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ сСтСвым Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠΌ Π² гостСвой систСмС ΠΈ сСтСвым бэкСндом Π½Π° сторонС QEMU. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π΅Ρ‚ систСмы Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ KVM (Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Usermode) ΠΈ Virtualbox, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ бэкСнд slirp ΠΈΠ· QEMU, Π° Ρ‚Π°ΠΊΠΆΠ΅ прилоТСния, ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΠ΅ сСтСвой стСк Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ libSLIRP (эмулятор TCP/IP).

Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ выполнСния ΠΊΠΎΠ΄Π° Π½Π° сторонС хост-систСмы с ΠΏΡ€Π°Π²Π°ΠΌΠΈ процСсса-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° QEMU ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ со стороны гостСвой систСмы ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‡Π΅Π½ΡŒ большого сСтСвого ΠΏΠ°ΠΊΠ΅Ρ‚Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ трСбуСтся ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ. Из-Π·Π° ошибки Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ip_reass(), Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΈ пСрСсборкС входящих ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡƒΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡΡ Π² Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€ ΠΈ Π΅Π³ΠΎ хвост Π±ΡƒΠ΄Π΅Ρ‚ записан Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π° Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ области памяти.

Для тСстирования ΡƒΠΆΠ΅ доступСн Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ эксплоита, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ прСдусмотрСн ΠΎΠ±Ρ…ΠΎΠ΄ ASLR ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ памяти массива main_loop_tlg, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ список QEMUTimerList с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ.
Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΡƒΠΆΠ΅ устранСна Π² Fedora ΠΈ SUSE/openSUSE, Π½ΠΎ остаётся нСисправлСнной Π² Debian, Arch Linux ΠΈ FreeBSD. Π’ Ubuntu ΠΈ RHEL ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ проявляСтся ΠΈΠ·-Π·Π° нСиспользования slirp. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ остаётся нСисправлСнной Π² послСднСм выпускС libslirp 4.0 (исправлСниС ΠΏΠΎΠΊΠ° доступно Π² Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ‚Ρ‡Π°).

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