Turvavead eBPF alamsĂŒsteemis, mis vĂ”imaldavad kĂ€itada koodi Linuxi tuumas

Avastatud on kaks uut haavatavust eBPF-sĂŒsteemis, mis vĂ”imaldab kĂ€ivitada töötlejaid Linuxi tuumas spetsiaalses virtuaalmasinas JIT-reĆŸiimis. MĂ”lemad haavatavused vĂ”imaldavad tĂ€ita oma koodi tuumapoolsete Ă”igustega, vĂ€ljaspool isoleeritud eBPF-virtuaalmasinat. Probleemide kohta avaldas teabe Zero Day Initiative, kes korraldab Pwn2Own vĂ”istlusi, kus sel aastal demonstreeriti kolme rĂŒnnakut Ubuntu Linuxile, kus kasutati varem teadmata haavatavusi (kas eBPF haavatavused vĂ”ivad olla seotud nende rĂŒnnakutega, ei öelda).

  • CVE-2021-3490 — haavatavus on tingitud 32-bitiste vÀÀrtuste piire ĂŒletava kontrolli puudumisest, kui teostatakse bititehteid AND, OR ja XOR eBPF ALU32-s. RĂŒndaja saab seda viga Ă€ra kasutada, et lugeda ja kirjutada andmeid vĂ€ljaspool eraldatud puhversettide piire. XOR operatsiooni probleem ilmneb alates tuuma versioonist 5.7-rc1, AND ja OR aga alates vĂ€ljaandest 5.10-rc1.
  • CVE-2021-3489 — haavatavus on tingitud ringpuhverduse rakendusveast ja on seotud sellega, et funktsioon bpf_ringbuf_reserve ei kontrollinud, kas eraldatud mĂ€lu suurus vĂ”iks olla vĂ€iksem kui tegelik ringpuhvri ringbuf suurus. Probleem ilmneb alates vĂ€ljaandest 5.8-rc1.

Haavatavuste paranduste staatust jaotustes saab jĂ€lgida jĂ€rgmistes lehtedes: Ubuntu, Debian, RHEL, Fedora, SUSE, Arch). Parandused on samuti saadaval plaastritena (CVE-2021-3489, CVE-2021-3490). Probleemi Ă€ra kasutamise vĂ”imalus sĂ”ltub kasutaja juurdepÀÀsust eBPF sĂŒsteemikutsumisele. NĂ€iteks vaikeseades RHEL-is on haavatavuse Ă€ra kasutamiseks vajalik kasutaja omada CAP_SYS_ADMIN Ă”igusi.

Eriliselt tasub tĂ€hele panna veel ĂŒht Linuxi tuuma haavatavust — CVE-2021-32606, mis vĂ”imaldab kohalikel kasutajatel tĂ”sta oma Ă”igusi root-tasemele. Probleem ilmneb alates Linuxi tuumast 5.11 ja on tingitud vĂ”istlushĂ€iretest CAN ISOTP protokolli rakendamisel, mis vĂ”imaldab muuta socket'ile sidumise parameetreid, kuna isotp_setsockopt() funktsioonis ei ole korralikke lukustusi kehtestatud CAN_ISOTP_SF_BROADCAST lipu töötlemisel.

PĂ€rast ISOTP socket'i sulgemist jÀÀb sidumine saajaga socket'iga aktiivseks, mis vĂ”ib jĂ€tkata sidumisel pĂ”hinevate struktuuride kasutamist pĂ€rast seotud mĂ€lu vabastamist (use-after-free, kuna isotp_rcv() kutse teeb juba vabastatud isotp_sock struktuurile). Andmete manipuleerimise abil on vĂ”imalik ĂŒle kirjutada sk_error_report() funktsiooni osutaja ja execute oma koodi tuuma tasemel.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega veebisaitidele, VPS VDS serverid - ProHoster