Kerentanan ing subsistem eBPF sing ngidini eksekusi kode ing tingkat kernel Linux

Loro kerentanan anyar wis diidentifikasi ing subsistem eBPF, sing ngidini sampeyan mbukak panangan ing kernel Linux ing mesin virtual khusus karo JIT. Loro-lorone kerentanan ngidini sampeyan nglakokake kode kanthi hak kernel, ing njaba mesin virtual eBPF sing terisolasi. Informasi babagan masalah kasebut diterbitake dening tim Zero Day Initiative, sing nglakokake kompetisi Pwn2Own, sajrone taun iki, telung serangan ing Ubuntu Linux dituduhake sing nggunakake kerentanan sing durung dingerteni sadurunge (apa kerentanan ing eBPF ana hubungane karo serangan kasebut ora dilaporake) .

  • CVE-2021-3490 - Kerentanan disababakΓ© dΓ©ning lack of 32-bit out-of-bound checking nalika nindakake operasi bitwise AND, OR, lan XOR ing eBPF ALU32. Penyerang bisa njupuk kauntungan saka kesalahan iki kanggo maca lan nulis data ing njaba wates buffer sing diparengake. Masalah karo operasi XOR katon wiwit saka versi kernel 5.7-rc1, lan AND lan UTAWA - wiwit saka 5.10-rc1.
  • CVE-2021-3489 - Kerentanan disebabake kesalahan ing implementasine buffer ring lan amarga fungsi bpf_ringbuf_reserve ora mriksa kemungkinan ukuran wilayah memori sing diparengake bisa kurang saka ukuran nyata. saka ringbuf. Masalah katon wiwit release 5.8-rc1.

Status kerentanan patching ing distribusi bisa dilacak ing kaca iki: Ubuntu, Debian, RHEL, Fedora, SUSE, Arch). Ndandani uga kasedhiya minangka patch (CVE-2021-3489, CVE-2021-3490). Apa masalah bisa dimanfaatake gumantung apa telpon sistem eBPF bisa diakses pangguna. Contone, ing konfigurasi standar ing RHEL, eksploitasi kerentanan mbutuhake pangguna duwe hak CAP_SYS_ADMIN.

Kapisah, kita bisa nyathet kerentanan liyane ing kernel Linux - CVE-2021-32606, sing ngidini pangguna lokal ngunggahake hak istimewa menyang level root. Masalah wis katon wiwit kernel Linux 5.11 lan disebabake kahanan lomba ing implementasine saka protokol CAN ISOTP, kang ndadekake iku bisa kanggo ngganti paramèter naleni soket amarga lack saka setelan kunci tepat ing fungsi isotp_setsockopt () nalika ngolah flag CAN_ISOTP_SF_BROADCAST.

Sawise soket ISOTP ditutup, ikatan menyang soket panampa tetep ditrapake, sing bisa terus nggunakake struktur sing ana gandhengane karo soket kasebut sawise memori sing digandhengake karo dibebasake (nggunakake sawise gratis amarga telpon isotp_rcv () ngakses struktur isotp_sock sing wis dibebasake). Liwat manipulasi data, sampeyan bisa ngatasi pointer menyang fungsi sk_error_report () lan nglakokake kode sampeyan ing tingkat kernel.

Source: opennet.ru

Add a comment