QEMU обочолонгон чөйрөсүнөн чыгууга мүмкүндүк берген аялуу

Ачылган маанилүү аялуу чоо-жайы (CVE-2019-14378) конок системасындагы виртуалдык тармак адаптери менен QEMU тарабындагы тармактык сервердин ортосунда байланыш каналын түзүү үчүн QEMUде колдонулган демейки SLIRP иштеткичинде. Маселе KVM негизиндеги виртуалдаштыруу системаларына да таасирин тийгизет ( Usermode) жана Virtualbox, алар QEMUден slirp backend колдонушат, ошондой эле колдонуучу мейкиндик тармактык стектерин колдонгон тиркемелер libSLIRP (TCP/IP эмулятору).

Алсыздык конок тутумунан атайын иштелип чыккан абдан чоң тармак пакети жөнөтүлгөндө, фрагментацияны талап кылган QEMU иштетүү процессинин укуктары менен кодду хост тутумунун тарабында аткарууга мүмкүндүк берет. Кирүүчү пакеттерди кайра чогултууда чакырылган ip_reass() функциясындагы катадан улам, биринчи фрагмент бөлүнгөн буферге батпай калышы мүмкүн жана анын куйругу буфердин жанындагы эстутум аймактарына жазылат.

Сыноо үчүн жеткиликтүү ASLRди айланып өтүүнү жана main_loop_tlg массивинин эс тутумун кайра жазуу аркылуу кодду аткарууну, анын ичинде таймер тарабынан чакырылган иштеткичтери бар QEMUTimerListти камтыган эксплуатациянын жумушчу прототиби.
Алсыздык мурунтан эле оңдолгон Fedora и SUSE/openSUSE, бирок оңдолбогон бойдон калууда Debian, Arch Linux и FreeBSD. The Ubuntu и RHEL Көйгөй slirp колдонбогондуктан пайда болбойт. Алсыздык акыркы чыгарылышта оңдолбогон бойдон калууда libslirp 4.0 (оңдоо учурда жеткиликтүү жамаачы).

Source: opennet.ru

Комментарий кошуу