Ievainojamība Linux kodola ligzdas AF_PACKET ieviešanā

Trīs gadus pēc ievainojamību viļņa (1, 2, 3, 4, 5) Linux kodola apakšsistēmā AF_PACKET identificēts vēl viena problēma (CVE-2020-14386), ļaujot vietējam nepiederošam lietotājam izpildīt kodu kā root vai iziet no izolētiem konteineriem, ja viņam ir root piekļuve.

Lai izveidotu AF_PACKET ligzdu un izmantotu ievainojamību, ir nepieciešamas CAP_NET_RAW privilēģijas. Tomēr norādīto atļauju var iegūt nepievilcīgs lietotājs konteineros, kas izveidoti sistēmās, kurās ir iespējots lietotāju nosaukumvietu atbalsts. Piemēram, lietotāju vārdu telpas pēc noklusējuma ir iespējotas Ubuntu un Fedora, bet nav iespējotas Debian un RHEL. Operētājsistēmā Android multivides servera procesam ir tiesības izveidot AF_PACKET ligzdas, caur kurām var izmantot ievainojamību.

Ievainojamība ir funkcijā tpacket_rcv, un to izraisa kļūda netoff mainīgā aprēķināšanā. Uzbrucējs var radīt apstākļus, kuros netoff mainīgajam tiek ierakstīta vērtība, kas ir mazāka par maclen mainīgo, kas izraisīs pārplūdi, aprēķinot "macoff = netoff - maclen" un pēc tam nepareizi iestatot rādītāju uz ienākošo datu buferi. Tā rezultātā uzbrucējs var sākt rakstīšanu no 1 līdz 10 baitiem apgabalā, kas atrodas ārpus piešķirtā bufera robežas. Tiek atzīmēts, ka tiek izstrādāta izmantošana, kas ļauj iegūt sistēmas saknes tiesības.

Problēma kodolā pastāv kopš 2008. gada jūlija, t.i. izpaužas visos faktiskajos kodolos. Labojums pašlaik ir pieejams kā plāksteris. Varat izsekot pakotņu atjauninājumu pieejamībai izplatījumos šādās lapās: Ubuntu, Fedora, SUSE, Debian, RHEL, Arka.

Avots: opennet.ru

Pievieno komentāru