Kerentanan dina subsistem eBPF tina kernel Linux

Kerentanan (CVE-2021-29154) diidentifikasi dina subsistem eBPF, anu ngamungkinkeun anjeun ngajalankeun pawang pikeun ngalacak, nganalisa operasi subsistem sareng ngatur lalu lintas, dieksekusi di jero kernel Linux dina mesin virtual khusus sareng JIT, anu ngamungkinkeun a pamaké lokal pikeun ngahontal palaksanaan kode maranéhanana di tingkat kernel. Masalahna muncul dugi ka sékrési 5.11.12 (inklusif) sareng henteu acan dibenerkeun dina distribusi (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch). Perbaikanna sayogi salaku patch.

Numutkeun kana panalungtik anu ngaidentipikasi kerentanan, aranjeunna tiasa ngembangkeun prototipe garapan pikeun sistem 32- sareng 64-bit x86, anu tiasa dianggo ku pangguna anu teu boga hak istimewa. Nanging, Red Hat nyatakeun yén parahna masalah gumantung kana naha telepon sistem eBPF tiasa diaksés ku pangguna. Contona, dina RHEL sareng seueur distribusi Linux anu sanés dina konfigurasi standar, kerentanan tiasa dieksploitasi upami BPF JIT diaktipkeun sareng pangguna ngagaduhan hak CAP_SYS_ADMIN. Salaku workaround, disarankeun pikeun nganonaktipkeun BPF JIT nganggo paréntah: echo 0> /proc/sys/net/core/bpf_jit_enable

Masalahna disababkeun ku kasalahan dina ngitung offset pikeun parentah cabang salila prosés generasi kode mesin tina kompiler JIT. Khususna, nalika ngahasilkeun paréntah cabang, éta henteu nganggap yén offset tiasa robih saatos ngalangkungan tahap optimasi. Cacat ieu tiasa dianggo pikeun ngahasilkeun kode mesin anu anomali sareng ngalaksanakeunana dina tingkat kernel.

Catet yén ieu sanés ngan ukur kerentanan dina subsistem eBPF ayeuna-ayeuna. Dina ahir Maret, dua kerentanan deui diidentifikasi dina kernel (CVE-2020-27170, CVE-2020-27171), sahingga ngamungkinkeun ngagunakeun eBPF pikeun ngaleungitkeun panyalindungan ngalawan kerentanan kelas Specter, anu ngamungkinkeun pikeun nangtukeun eusi mémori kernel. salaku hasil tina nyiptakeun kaayaan pikeun palaksanaan spekulatif operasi tangtu. Serangan Spectre merlukeun ayana runtuyan paréntah nu tangtu dina kode husus nu ngakibatkeun palaksanaan spekulatif parentah. Dina eBPF, sababaraha cara geus kapanggih keur ngahasilkeun parentah misalna ngaliwatan manipulasi jeung program BPF dikirimkeun pikeun palaksanaan.

Kerentanan CVE-2020-27170 disababkeun ku manipulasi pointer dina verifikasi BPF anu nyababkeun operasi spekulatif ngaksés daérah di luar wates panyangga. Kerentanan CVE-2020-27171 disababkeun ku kasalahan underflow integer nalika damel sareng pointer, ngarah kana aksés spekulatif kana data di luar panyangga. Masalah-masalah ieu parantos dilereskeun dina sékrési kernel 5.11.8, 5.10.25, 5.4.107, 4.19.182 sareng 4.14.227, sareng ogé parantos diasupkeun kana apdet kernel pikeun kalolobaan distribusi Linux. Panaliti parantos nyiapkeun prototipe eksploitasi anu ngamungkinkeun pangguna anu teu boga hak pikeun nimba data tina mémori kernel.

sumber: opennet.ru

Tambahkeun komentar