Ailagbara ninu awọn ẹgbẹ v1 ti o fun laaye ona abayo lati inu eiyan ti o ya sọtọ

Awọn alaye ti ailagbara kan (CVE-2022-0492) ni imuse ti awọn cgroups v1 ẹrọ aropin orisun ni ekuro Linux, eyiti o le ṣee lo lati sa fun awọn apoti ti o ya sọtọ, ti ṣafihan. Iṣoro naa ti wa lati Linux kernel 2.6.24 ati pe o wa titi ni awọn idasilẹ ekuro 5.16.12, 5.15.26, 5.10.97, 5.4.177, 4.19.229, 4.14.266, ati 4.9.301. O le tẹle awọn atẹjade ti awọn imudojuiwọn package ni awọn pinpin lori awọn oju-iwe wọnyi: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

Ailagbara jẹ nitori aṣiṣe oye kan ninu oluṣakoso faili release_agent ti o kuna lati ṣe awọn sọwedowo to dara nigbati o nṣiṣẹ olutọju pẹlu awọn anfani ni kikun. Faili itusilẹ_agent ni a lo lati ṣalaye eto lati ṣe nipasẹ ekuro nigbati ilana kan ninu akojọpọ ẹgbẹ kan ti pari. Eto yii n ṣiṣẹ bi gbongbo ati pẹlu gbogbo “awọn agbara” ni aaye orukọ root. O ti ro pe oludari nikan ni iwọle si eto idasilẹ_agent, ṣugbọn ni otitọ awọn sọwedowo ni opin si fifun iwọle si olumulo root, eyiti ko yọkuro eto ti o yipada lati inu eiyan tabi nipasẹ olumulo gbongbo laisi awọn ẹtọ alabojuto (CAP_SYS_ADMIN) ).

Ni iṣaaju, iru ẹya kan kii yoo ni akiyesi bi ailagbara, ṣugbọn ipo naa ti yipada pẹlu dide ti awọn aaye orukọ olumulo (awọn aaye orukọ olumulo), eyiti o fun ọ laaye lati ṣẹda awọn olumulo gbongbo lọtọ ni awọn apoti ti ko ni lqkan pẹlu olumulo root ti akọkọ ayika. Nitorinaa, fun ikọlu, o to lati sopọ oluṣakoso itusilẹ_agent rẹ ninu apo kan ti o ni olumulo gbongbo tirẹ ni aaye ID olumulo lọtọ, eyiti, lẹhin ipari ilana naa, yoo ṣe pẹlu awọn anfani ni kikun ti agbegbe akọkọ.

Nipa aiyipada, awọn cgroupfs ti gbe sinu apoti kan ni ipo kika-nikan, ṣugbọn ko si iṣoro lati tun awọn pseudofs yii pada ni ipo kikọ ti o ba ni awọn ẹtọ CAP_SYS_ADMIN tabi nipa ṣiṣẹda apoti itẹ-ẹiyẹ pẹlu aaye orukọ olumulo lọtọ ni lilo ipe eto aipin, ninu eyiti Awọn ẹtọ CAP_SYS_ADMIN wa fun apoti ti a ṣẹda.

Ailagbara ninu awọn ẹgbẹ v1 ti o fun laaye ona abayo lati inu eiyan ti o ya sọtọ

Ikọlu naa le ṣee ṣe ti o ba ni awọn anfani gbongbo ninu apoti ti o ya sọtọ tabi nigbati o ba nṣiṣẹ apoti kan laisi asia no_new_privs, eyiti o ṣe idiwọ gbigba awọn anfani afikun. Eto naa gbọdọ ni atilẹyin fun awọn aaye orukọ olumulo ṣiṣẹ (ti ṣiṣẹ nipasẹ aiyipada ni Ubuntu ati Fedora, ṣugbọn ko mu ṣiṣẹ ni Debian ati RHEL) ati ni iwọle si root cgroup v1 (fun apẹẹrẹ, Docker nṣiṣẹ awọn apoti ninu root RDMA cgroup). Ikọlu naa tun ṣee ṣe ti o ba ni awọn anfani CAP_SYS_ADMIN, ninu eyiti atilẹyin fun awọn aaye orukọ olumulo ati iraye si cgroup v1 root logalomomoise ko nilo.

Ni afikun si salọ kuro ninu apoti ti o ya sọtọ, ailagbara tun ngbanilaaye awọn ilana ti a ṣe ifilọlẹ nipasẹ olumulo gbongbo laisi “awọn agbara” tabi olumulo eyikeyi pẹlu awọn ẹtọ CAP_DAC_OVERRIDE (kolu nilo iraye si faili / sys/fs/cgroup/*/release_agent, eyiti o jẹ ohun ini nipasẹ root) lati ni iraye si gbogbo “awọn agbara” eto eto.

O ṣe akiyesi pe ailagbara ko le ṣe ilokulo nigba lilo awọn ọna aabo Seccomp, AppArmor tabi SELinux fun ipinya afikun ti awọn apoti, nitori Seccomp ṣe idiwọ iraye si ipe eto unshare () ati AppArmor ati SELinux ko gba laaye awọn cgroupfs iṣagbesori ni ipo kikọ.

orisun: opennet.ru

Fi ọrọìwòye kun