Para panalungtik ti tim Project Zero Google parantos medalkeun hiji metode pikeun ngamangpaatkeun kerentanan (CVE-2020-29661) dina palaksanaan pangendali ioctl TIOCSPGRP tina subsistem tty kernel. Linux, sareng ogé nalungtik sacara rinci mékanisme panyalindungan anu tiasa meungpeuk kerentanan sapertos kitu.
Bug anu nyababkeun masalah ieu parantos dibenerkeun dina kernel. Linux deui dina tanggal 3 Désémber taun kamari. Masalah ieu muncul dina kernel sateuacan vérsi 5.9.13, tapi kaseueuran distribusi parantos ngalereskeun masalah dina apdet pakét kernel anu dirilis taun kamari (Debian, RHEL, SUSE, Ubuntu, Fedora, Arch). Karentanan anu sami (CVE-2020-29660) kapanggih sacara babarengan dina palaksanaan panggero ioctl TIOCGSID, tapi éta ogé parantos ditambal sacara lega.
Masalah ieu disababkeun ku kasalahan setelan konci, anu ngarah kana kaayaan balapan dina drivers/tty/tty_jobctrl.c, anu hasil dieksploitasi pikeun nyiptakeun kaayaan use-after-free, anu tiasa dieksploitasi tina rohangan pangguna ku cara manipulasi panggero ioct TIOCSPGRP. Éksploitasi anu tiasa dianggo parantos dipidangkeun pikeun éskalasi hak istimewa dina Debian 10 nganggo kernel 4.19.0-13-amd64.
Tulisan anu diterbitkeun kirang museurkeun kana téknik pikeun nyiptakeun garapan sareng langkung seueur kana alat kernel anu tos aya pikeun ngajagaan tina kerentanan sapertos kitu. kacindekan teu encouraging: métode kayaning segmentation memori numpuk jeung kontrol pos-gratis teu dipaké dina prakna sabab ngakibatkeun ngurangan kinerja, sarta panyalindungan dumasar CFI (Control Flow Integrity), nu blok exploits dina tahap ahir serangan, merlukeun ngembangkeun salajengna.
Nalika nganggap naon anu tiasa ningkatkeun kaayaan dina jangka panjang, analis statik canggih atanapi basa anu aman-memori, sapertos dialek Rust sareng C kalayan anotasi canggih (contona, Dipariksa C), disorot. Basa-basa ieu pariksa kaayaan konci, objék, sareng petunjuk dina waktos ngawangun. Métode panyalindungan séjén anu disarankeun kalebet ngaktipkeun panic_on_oops, ngajantenkeun struktur kernel ngan ukur dibaca, sareng ngawatesan aksés ka telepon sistem nganggo mékanisme sapertos seccomp.
sumber: opennet.ru
