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

Kerentanan (CVE-2021-4204) wis diidentifikasi ing subsistem eBPF, sing ngidini sampeyan mbukak panangan ing kernel Linux ing mesin virtual khusus karo JIT, ngidini pangguna lokal sing ora duwe hak kanggo entuk eskalasi hak istimewa lan nglakokake kode kasebut ing level kernel Linux. Masalah kasebut wis muncul wiwit kernel Linux 5.8 lan tetep ora diatasi (kalebu rilis 5.16). Status nganyari sing digawe kanggo ndandani masalah ing distribusi bisa dilacak ing kaca iki: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Wis diumumake yen eksploitasi kerja wis digawe, sing direncanakake bakal diterbitake tanggal 18 Januari (pangguna lan pangembang wis diwenehi seminggu kanggo ndandani kerentanan kasebut).

Kerentanan kasebut disebabake dening verifikasi salah program eBPF sing dikirim kanggo eksekusi. Subsistem eBPF nyedhiyakake fungsi tambahan, panggunaan sing bener diverifikasi dening verifier khusus. Sawetara fungsi mbutuhake nilai PTR_TO_MEM minangka argumen, lan kanggo nyegah overflows buffer, verifier kudu ngerti ukuran memori sing ana gandhengane karo argumen kasebut. Kanggo fungsi bpf_ringbuf_submit lan bpf_ringbuf_discard, data ing ukuran memori ditransfer ora kacarita kanggo verifier, kang bisa digunakake kanggo nimpa wilayah memori ngluwihi wates buffer nalika nglakokakΓ© kode eBPF dirancang khusus.

Kanggo nindakake serangan, pangguna kudu bisa mbukak program BPF dhewe, lan akeh distribusi Linux anyar sing ngalangi kemampuan iki kanthi standar (kalebu akses sing ora duwe hak kanggo eBPF saiki dilarang kanthi standar ing kernel dhewe, diwiwiti karo release 5.16). Contone, kerentanan bisa dieksploitasi ing konfigurasi standar ing Ubuntu 20.04 LTS, nanging ing lingkungan Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 lan Fedora 33 katon mung yen administrator wis nyetel. parameter kernel.unprivileged_bpf_disabled kanggo 0. Minangka workaround kanggo mblokir kerentanan, sampeyan bisa nyegah eksekusi program BPF dening pangguna unprivileged karo printah "sysctl -w kernel.unprivileged_bpf_disabled = 1".

Source: opennet.ru

Add a comment