Vilnerabilite nan subsistèm eBPF ki pèmèt ekzekisyon kòd nan nivo nwayo Linux

Yo te idantifye yon vilnerabilite (CVE-2021-4204) nan subsistèm eBPF, ki pèmèt ou jere moun k ap okipe andedan nwayo Linux la nan yon machin vityèl espesyal ak JIT, ki pèmèt yon itilizatè lokal ki pa gen privilèj reyalize ogmantasyon privilèj yo epi egzekite kòd yo a. Nivo nwayo Linux. Pwoblèm nan te parèt depi Linux Kernel 5.8 epi li rete san solisyon (ki gen ladan lage 5.16). Estati mizajou yo te pwodwi pou rezoud pwoblèm nan nan distribisyon yo ka swiv nan paj sa yo: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Yo te anonse ke yon eksplwatasyon k ap travay te kreye, ki te planifye yo dwe pibliye 18 janvye (itilizatè yo ak devlopè yo te bay yon semèn pou ranje vilnerabilite a).

Se vilnerabilite ki te koze pa kòrèk verifikasyon nan pwogram eBPF transmèt pou ekzekisyon. Sou-sistèm eBPF a bay fonksyon oksilyè, yon verifikatè espesyal verifye itilizasyon kòrèk la. Gen kèk fonksyon ki mande pou pase yon valè PTR_TO_MEM kòm yon agiman, epi pou anpeche posib debòde tanpon, verifikatè a dwe konnen gwosè memwa ki asosye ak agiman an. Pou fonksyon bpf_ringbuf_submit ak bpf_ringbuf_discard, done sou gwosè memwa transfere a pa te rapòte bay verifikatè a, ki ta ka itilize pou recouvrir zòn memwa pi lwen pase fwontyè tanpon an lè w ap egzekite kòd eBPF ki fèt espesyalman.

Pou pote soti nan yon atak, itilizatè a dwe kapab chaje pwòp pwogram BPF l ', ak anpil distribisyon Linux resan bloke kapasite sa a pa default (ki gen ladan aksè san privilèj nan eBPF se kounye a entèdi pa default nan nwayo a li menm, kòmanse ak lage 5.16). Pou egzanp, vilnerabilite a ka eksplwate nan konfigirasyon default nan Ubuntu 20.04 LTS, men nan anviwònman yo Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 ak Fedora 33 li parèt sèlman si administratè a te mete paramèt kernel.unprivileged_bpf_disabled a 0. Kòm yon solisyon pou bloke vilnerabilite a, ou ka anpeche ekzekisyon pwogram BPF pa itilizatè ki pa gen privilèj ak lòd "sysctl -w kernel.unprivileged_bpf_disabled=1".

Sous: opennet.ru

Add nouvo kòmantè