Cenueshmëri në nënsistemin eBPF që lejon ekzekutimin e kodit në nivelin e kernelit Linux

NĂ« nĂ«n-sistemin e eBPF, i cili lejon ekzekutimin e menaxherĂ«ve brenda bĂ«rthamĂ«s sĂ« Linux-it nĂ« njĂ« makinĂ« virtuale tĂ« veçantĂ« me JIT, Ă«shtĂ« zbuluar njĂ« dobĂ«si (CVE-2021-4204) qĂ« u jep mundĂ«sinĂ« pĂ«rdoruesve lokalĂ« tĂ« pa privilegjuar tĂ« arrijnĂ« rritje privilegjet dhe tĂ« ekzekutojnĂ« kodin e tyre nĂ« nivelin e bĂ«rthamĂ«s sĂ« Linux-it. Problemi shfaqet qĂ« nga bĂ«rthama Linux 5.8 dhe pĂ«r momentin mbetet i pa rregulluar (pĂ«rfshin edhe lĂ«shimin 5.16). Gjendjen e formimit tĂ« pĂ«rditĂ«simeve pĂ«r zgjidhjen e problemit nĂ« distribucione mund ta ndiqni nĂ« kĂ«to faqe: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. ËshtĂ« deklaruar se Ă«shtĂ« krijuar njĂ« eksploatues funksional, i cili planifikohet tĂ« publikohet mĂ« 18 janar (pĂ«rdoruesit dhe zhvilluesit iu janĂ« dhĂ«nĂ« njĂ« javĂ« pĂ«r tĂ« eliminuar dobĂ«sinĂ«).

Dobësia shkaktohet nga një verifikim i pasaktë i argumenteve të dërguara për ekzekutim të programeve eBPF. Nën-sistemi eBPF ofron funksione ndihmëse, përdorimi i saktë i të cilave verifikohet nga një verifikues i veçantë. Disa funksione kërkojnë kalimin e vlerës PTR_TO_MEM si argument dhe për të parandaluar mbushjen e mundshme të memorie, verifikuesi duhet të dijë përmasat e memories të lidhur me argumentin. Për funksionet bpf_ringbuf_submit dhe bpf_ringbuf_discard, informacioni mbi përmasat e memories së dërguar nuk i është komunikuar verifikuesit, gjë që mund të përdoret për të shkruar mbi zonat e memories jashtë buffers gjatë ekzekutimit të kodit të posaçëm eBPF.

Për të realizuar një sulm, përdoruesi duhet të ketë mundësinë të ngarkojë programin e tij BPF, dhe shumë distribucione të reja të Linux-it e bllokojnë këtë mundësi si parazgjedhje (përdorimi i pa privilegjuar i eBPF tani është i ndaluar si parazgjedhje edhe në vetë bërthamën, duke filluar nga lëshimi 5.16). Për shembull, dobësia mund të eksploatohet në konfigurimet e parazgjedhura në Ubuntu 20.04 LTS, por në ambientet Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 dhe Fedora 33 shfaqet vetëm nëse administratorit i është caktuar parametri kernel.unprivileged_bpf_disabled në vlerën 0. Si një mënyrë për të bllokuar dobësinë, përdoruesit pa privilegje mund të ndalojnë ekzekutimin e programeve BPF me komandën "sysctl -w kernel.unprivileged_bpf_disabled=1".

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster