เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบญเบญเบเบˆเบฒเบเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก QEMU เบ—เบตเปˆเป‚เบ”เบ”เบ”เปˆเบฝเบง

เป€เบ›เบตเบ”เป€เบœเบตเบ เบฅเบฒเบโ€‹เบฅเบฐโ€‹เบญเบฝเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบชเปˆเบฝเบ‡โ€‹เบ—เบตเปˆโ€‹เบชเปเบฒโ€‹เบ„เบฑเบ™ (CVE-2019-14378) เปƒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ SLIRP เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™ QEMU เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบญเบฐเปเบ”เบšเป€เบ•เบตเป€เบ„เบทเบญเบ‚เปˆเบฒเบ virtual เปƒเบ™เบฅเบฐเบšเบปเบšเปเบ‚เบเปเบฅเบฐ backend เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ™เบ”เป‰เบฒเบ™ QEMU. เบšเบฑเบ™เบซเบฒเบเบฑเบ‡เบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ•เปเปˆเบฅเบฐเบšเบปเบš virtualization เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆ KVM (เปƒเบ™ เป‚เปเบ”เบœเบนเป‰เปƒเบŠเป‰) เปเบฅเบฐ Virtualbox, เป€เบŠเบดเปˆเบ‡เปƒเบŠเป‰ slirp backend เบˆเบฒเบ QEMU, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เบ—เบตเปˆเปƒเบŠเป‰เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบœเบนเป‰เปƒเบŠเป‰เบžเบทเป‰เบ™เบ—เบตเปˆ. libSLIRP (TCP/IP emulator).

เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป€เบฎเบฑเบ”เปƒเบซเป‰เบฅเบฐเบซเบฑเบ”เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™เบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบšเบ”เป‰เบงเบเบชเบดเบ”เบ—เบดเบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เบปเบงเบˆเบฑเบ”เบเบฒเบ™ QEMU เป€เบกเบทเปˆเบญเปเบžเบฑเบเป€เบเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบฒเบเบ—เบตเปˆเบ–เบทเบเบญเบญเบเปเบšเบšเบžเบดเป€เบชเบ”เบ–เบทเบเบชเบปเปˆเบ‡เบกเบฒเบˆเบฒเบเบฅเบฐเบšเบปเบšเปเบ‚เบ, เป€เบŠเบดเปˆเบ‡เบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เปเบšเปˆเบ‡เบชเปˆเบงเบ™. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบŸเบฑเบ‡เบŠเบฑเบ™ ip_reass() เป€เบญเบตเป‰เบ™เบงเปˆเบฒเป€เบกเบทเปˆเบญเบ›เบฐเบเบญเบšเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเบ„เบทเบ™เปƒเปเปˆ, เบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ—เบณเบญเบดเบ”เบญเบฒเบ”เบšเปเปˆเบžเปเบ”เบตเบเบฑเบš buffer เบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™เป„เบงเป‰ เปเบฅเบฐเบซเบฒเบ‡เบ‚เบญเบ‡เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เปƒเบชเปˆเบžเบทเป‰เบ™เบ—เบตเปˆเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเบ—เบตเปˆเบขเบนเปˆเบ‚เป‰เบฒเบ‡เบเบฑเบš buffer.

เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบฅเป‰เบง เบกเบต เบ•เบปเป‰เบ™เปเบšเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ exploit, เป€เบŠเบดเปˆเบ‡เบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ‚เป‰เบฒเบก ASLR เปเบฅเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เป‚เบ”เบเบเบฒเบ™เบ‚เบฝเบ™เบ—เบฑเบšเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡ main_loop_tlg array, เบฅเบงเบกเบ—เบฑเบ‡ QEMUTimerList เบเบฑเบš handlers เป€เบญเบตเป‰เบ™เบงเปˆเบฒเป‚เบ”เบ timer.
เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปเบฅเป‰เบง Fedora ะธ SUSE/openSUSE, เปเบ•เปˆเบเบฑเบ‡เบšเปเปˆเบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™ Debian, Arch Linux ะธ FreeBSD. เบเบฒเบ™ Ubuntu ะธ RHEL เบšเบฑเบ™เบซเบฒเบšเปเปˆเบ›เบฒเบเบปเบ”เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบšเปเปˆเปƒเบŠเป‰ slirp. เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบเป‰เป„เบ‚เปƒเบ™เบเบฒเบ™เบ›เปˆเบญเบเบซเบฅเป‰เบฒเบชเบธเบ” libslirp 4.0 (เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เปเบกเปˆเบ™โ€‹เบกเบตโ€‹เปƒเบ™โ€‹เบ›เบฑเบ”โ€‹เบˆเบธโ€‹เบšเบฑเบ™โ€‹เป€เบ›เบฑเบ™โ€‹ เป€เบžเบตเป‰เบก).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™