Ailagbara ninu eto abẹlẹ eBPF ti o fun laaye ipaniyan koodu ni ipele ekuro Linux

Ailagbara kan (CVE-2021-4204) ti ṣe idanimọ ninu eto abẹlẹ eBPF, eyiti o fun ọ laaye lati ṣiṣẹ awọn olutọju inu ekuro Linux ni ẹrọ foju pataki kan pẹlu JIT, gbigba olumulo ti ko ni anfani ti agbegbe lati ṣaṣeyọri igbega anfani ati ṣiṣẹ koodu wọn ni Linux ekuro ipele. Iṣoro naa ti n farahan lati Linux kernel 5.8 ati pe o wa ni aiduro (pẹlu itusilẹ 5.16). Ipo awọn imudojuiwọn ti n ṣe lati ṣatunṣe iṣoro naa ni awọn pinpin ni a le tọpinpin lori awọn oju-iwe wọnyi: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. O ti kede pe a ti ṣẹda ilokulo ti n ṣiṣẹ, eyiti o gbero lati ṣe atẹjade ni Oṣu Kini Ọjọ 18 (awọn olumulo ati awọn olupilẹṣẹ ti fun ni ọsẹ kan lati ṣatunṣe ailagbara naa).

Ailagbara naa ṣẹlẹ nipasẹ iṣeduro ti ko tọ ti awọn eto eBPF ti o tan kaakiri fun ipaniyan. Eto abẹlẹ eBPF n pese awọn iṣẹ iranlọwọ, lilo deede eyiti o jẹri nipasẹ oludaniloju pataki kan. Diẹ ninu awọn iṣẹ nilo lati kọja iye PTR_TO_MEM kan bi ariyanjiyan, ati lati yago fun awọn iṣan omi ifipamọ ti o ṣeeṣe, oludaniloju gbọdọ mọ iwọn iranti ti o ni nkan ṣe pẹlu ariyanjiyan naa. Fun bpf_ringbuf_submit ati awọn iṣẹ bpf_ringbuf_discard, data lori iwọn ti iranti ti o ti gbe ni a ko royin si oludaniloju, eyiti o le ṣee lo lati tun awọn agbegbe iranti kọ ni ikọja aala ifipamọ nigbati o ba n ṣiṣẹ koodu eBPF apẹrẹ pataki.

Lati gbe ikọlu kan, olumulo gbọdọ ni anfani lati gbe eto BPF tirẹ, ati ọpọlọpọ awọn pinpin Lainos aipẹ ṣe idiwọ agbara yii nipasẹ aiyipada (pẹlu iraye si ailagbara si eBPF ni bayi ni eewọ nipasẹ aiyipada ni ekuro funrararẹ, bẹrẹ pẹlu itusilẹ 5.16). Fun apẹẹrẹ, ailagbara le jẹ yanturu ni iṣeto aiyipada ni Ubuntu 20.04 LTS, ṣugbọn ni awọn agbegbe Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 ati Fedora 33 o han nikan ti oludari ba ṣeto paramita kernel.unprivileged_bpf_disabled si 0. Bi iṣẹ-ṣiṣe fun didi ailagbara, o le ṣe idiwọ ipaniyan awọn eto BPF nipasẹ awọn olumulo ti ko ni anfani pẹlu aṣẹ “sysctl -w kernel.unprivileged_bpf_disabled=1”.

orisun: opennet.ru

Fi ọrọìwòye kun