Mbinu ya kutumia udhaifu katika mfumo mdogo wa tty wa kernel ya Linux imefunuliwa.

Watafiti kutoka timu ya Google Project Zero walichapisha mbinu ya kutumia uwezekano wa kuathiriwa (CVE-2020-29661) katika utekelezaji wa kidhibiti cha TIOCSPGRP ioctl kutoka kwa mfumo mdogo wa tty wa Linux kernel, na pia wakachunguza kwa undani mbinu za ulinzi zinazoweza kuzuia aina hiyo. udhaifu.

Mdudu unaosababisha shida ulisasishwa kwenye kinu cha Linux mnamo Desemba 3 mwaka jana. Tatizo linaonekana kwenye kernels hadi toleo la 5.9.13, lakini ugawaji mwingi umerekebisha tatizo katika masasisho ya vifurushi vya kernel vilivyotolewa mwaka jana (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). Athari sawa (CVE-2020-29660) ilipatikana wakati huo huo katika utekelezaji wa simu ya ioctl ya TIOCGSID, lakini pia tayari imerekebishwa kila mahali.

Tatizo linasababishwa na hitilafu wakati wa kuweka kufuli, na kusababisha hali ya mbio katika drivers/tty/tty_jobctrl.c msimbo, ambayo ilitumiwa kuunda hali ya matumizi baada ya bure iliyonyonywa kutoka kwa nafasi ya mtumiaji kupitia upotoshaji wa ioct. kwa kupiga simu TIOCSPGRP. Unyonyaji wa kufanya kazi umeonyeshwa kwa kuongezeka kwa upendeleo kwenye Debian 10 na kernel 4.19.0-13-amd64.

Wakati huo huo, nakala iliyochapishwa haizingatii sana juu ya mbinu ya kuunda unyonyaji wa kufanya kazi, lakini ni zana gani zilizopo kwenye kernel kulinda dhidi ya udhaifu kama huo. Hitimisho halifariji; njia kama vile kugawanya kumbukumbu katika lundo na udhibiti wa ufikiaji wa kumbukumbu baada ya kuachiliwa hazitumiki katika mazoezi, kwani husababisha kupungua kwa utendakazi, na ulinzi unaotegemea CFI (Control Flow Integrity), ambayo huzuia ushujaa katika hatua za baadaye za shambulio, inahitaji uboreshaji.

Wakati wa kuzingatia kile kitakacholeta mabadiliko kwa muda mrefu, kinachojulikana zaidi ni utumiaji wa vichanganuzi vya hali ya juu au utumiaji wa lugha salama za kumbukumbu kama vile lahaja za Rust na C zilizo na maelezo tajiri (kama vile Iliyochaguliwa C) kuangalia. hali wakati wa awamu ya kujenga, kufuli, vitu na viashiria. Mbinu za ulinzi pia zinajumuisha kuwezesha hali ya panic_on_oops, kubadilisha miundo ya kernel hadi hali ya kusoma tu, na kuzuia ufikiaji wa simu za mfumo kwa kutumia mitambo kama vile seccomp.

Chanzo: opennet.ru

Kuongeza maoni