ΠΡΠΊΡΠΈΠ΅Π½ΠΎ Π΄Π΅ΡΠ°Π»ΠΈ Π·Π° ΠΊΡΠΈΡΠΈΡΠ½Π° ΡΠ°Π½Π»ΠΈΠ²ΠΎΡΡ (CVE-2019-14378) Π²ΠΎ ΡΡΠ°Π½Π΄Π°ΡΠ΄Π½ΠΈΠΎΡ ΡΠ°ΠΊΡΠ²Π°Ρ SLIRP ΡΡΠΎ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π²ΠΎ QEMU Π·Π° Π²ΠΎΡΠΏΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ ΠΊΠ°Π½Π°Π» Π·Π° ΠΊΠΎΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΏΠΎΠΌΠ΅ΡΡ Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈΠΎΡ ΠΌΡΠ΅ΠΆΠ΅Π½ Π°Π΄Π°ΠΏΡΠ΅Ρ Π²ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π·Π° Π³ΠΎΡΡΠΈ ΠΈ ΠΌΡΠ΅ΠΆΠ½ΠΈΠΎΡ Π·Π°Π΄Π½ΠΈΠ½Π° Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° QEMU. ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π²Π»ΠΈΡΠ°Π΅ ΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° Π²ΠΈΡΡΡΠ΅Π»ΠΈΠ·Π°ΡΠΈΡΠ° Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° KVM (Π²ΠΎ ΠΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΡΠ΅ΠΆΠΈΠΌ) ΠΈ Virtualbox, ΠΊΠΎΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ slirp backend ΠΎΠ΄ QEMU, ΠΊΠ°ΠΊΠΎ ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠΎΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ ΠΌΡΠ΅ΠΆΠ΅Π½ ΡΡΠ΅ΠΊ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΡ libSLIRP (Π’Π¦Π/ΠΠ Π΅ΠΌΡΠ»Π°ΡΠΎΡ).
Π Π°Π½Π»ΠΈΠ²ΠΎΡΡΠ° Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΊΠΎΠ΄ΠΎΡ Π΄Π° ΡΠ΅ ΠΈΠ·Π²ΡΡΠΈ Π½Π° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΎΡ Π΄ΠΎΠΌΠ°ΡΠΈΠ½ ΡΠΎ ΠΏΡΠ°Π²Π°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅Ρ Π½Π° ΡΠ°ΠΊΡΠ²Π°Ρ QEMU ΠΊΠΎΠ³Π° ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ ΠΌΠ½ΠΎΠ³Ρ Π³ΠΎΠ»Π΅ΠΌ ΠΌΡΠ΅ΠΆΠ΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Π΅ ΠΈΡΠΏΡΠ°ΡΠ΅Π½ ΠΎΠ΄ Π³ΠΎΡΡΠΈΠ½ΡΠΊΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ, ΡΡΠΎ Π±Π°ΡΠ° ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°. ΠΠΎΡΠ°Π΄ΠΈ Π³ΡΠ΅ΡΠΊΠ° Π²ΠΎ ΡΡΠ½ΠΊΡΠΈΡΠ°ΡΠ° ip_reass(), ΠΏΠΎΠ²ΠΈΠΊΠ°Π½Π° ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠΎΡΡΠ°Π²ΡΠ²Π°ΡΠ΅ Π½Π° Π΄ΠΎΡΠ΄ΠΎΠ²Π½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ, ΠΏΡΠ²ΠΈΠΎΡ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π΅ ΡΠ΅ Π²ΠΊΠ»ΠΎΠΏΠΈ Π²ΠΎ Π΄ΠΎΠ΄Π΅Π»Π΅Π½ΠΈΠΎΡ Π±Π°ΡΠ΅Ρ ΠΈ Π½Π΅Π³ΠΎΠ²Π°ΡΠ° ΠΎΠΏΠ°ΡΠΊΠ° ΡΠ΅ Π±ΠΈΠ΄Π΅ Π·Π°ΠΏΠΈΡΠ°Π½Π° Π²ΠΎ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΊΠΈΡΠ΅ ΠΎΠ±Π»Π°ΡΡΠΈ Π΄ΠΎ Π±Π°ΡΠ΅ΡΠΎΡ.
ΠΠ° ΡΠ΅ΡΡΠΈΡΠ°ΡΠ΅ Π²Π΅ΡΠ΅ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΎΡ, ΠΊΠΎΡ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ΡΠ²Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΡΠ²Π°ΡΠ΅ Π½Π° ASLR ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΊΠΎΠ΄ ΡΠΎ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΠ΅ Π½Π° ΠΌΠ΅ΠΌΠΎΡΠΈΡΠ°ΡΠ° Π½Π° Π½ΠΈΠ·Π°ΡΠ° main_loop_tlg, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ QEMUTimerList ΡΠΎ ΡΠΏΡΠ°Π²ΡΠ²Π°ΡΠΈ ΠΏΠΎΠ²ΠΈΠΊΠ°Π½ΠΈ ΡΠΎ ΡΠ°ΡΠΌΠ΅Ρ.
Π Π°Π½Π»ΠΈΠ²ΠΎΡΡΠ° Π΅ Π²Π΅ΡΠ΅ ΠΏΠΎΠΏΡΠ°Π²Π΅Π½Π° Fedora ΠΈ SUSE/OPENSUSE, Π½ΠΎ ΠΎΡΡΠ°Π½ΡΠ²Π° Π½Π΅ΠΊΠΎΡΠ΅Π³ΠΈΡΠ°Π½Π° Π²ΠΎ Debian, ΠΡΡ
ΠΠΈΠ½ΡΠΊΡ ΠΈ FreeBSD. ΠΠΎ Ubuntu ΠΈ RHEL ΠΡΠΎΠ±Π»Π΅ΠΌΠΎΡ Π½Π΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΡΠ²Π° ΠΏΠΎΡΠ°Π΄ΠΈ Π½Π΅ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ΅ slirp. Π Π°Π½Π»ΠΈΠ²ΠΎΡΡΠ° ΠΎΡΡΠ°Π½ΡΠ²Π° Π½Π΅ΠΏΠΎΠΏΡΠ°Π²Π΅Π½Π° Π²ΠΎ Π½Π°ΡΠ½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ libslirp 4.0 (ΠΏΠΎΠΏΡΠ°Π²ΠΊΠ°ΡΠ° Π²ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠΎΠ² Π΅ Π΄ΠΎΡΡΠ°ΠΏΠ½Π° ΠΊΠ°ΠΊΠΎ Π»Π΅ΠΏΠ΅Π½ΠΊΠ°).
ΠΠ·Π²ΠΎΡ: opennet.ru