eBPF alam sĂŒsteemi haavatavused, mis vĂ”imaldavad kĂ€ivitada kood Linuxi tuumas

Avastatud kaks uut haavatavust eBPF-sĂŒsteemis, mis vĂ”imaldab töötlemisprogramme kĂ€itada Linuxi tuumas spetsiaalses virtuaalmasinas JITiga. MĂ”lemad haavatavused vĂ”imaldavad kĂ€ivitada oma koodi tuumaoigustega, vĂ€ljaspool isoleeritud virtuaalmasinat eBPF. Probleemide kohta avaldas teavet Zero Day Initiative, kes korraldab Pwn2Own vĂ”istlusi, kus sel aastal demonstreeriti kolme rĂŒnnakut Ubuntu Linuxile, kasutades varasematalt teadmata haavatavusi (kas eBPF haavatavused on seotud nende rĂŒnnakutega, ei ole tĂ€psustatud).

  • CVE-2021-3490 — haavatavus tuleneb 32-bitiste vÀÀrtuste ĂŒletöötluse kontrolli puudumisest AND, OR ja XOR bititehteid teostades eBPF ALU32-s. RĂŒndaja vĂ”ib seda viga kasutada, et lugeda ja kirjutada andmeid vĂ€ljaspool eraldatud puhversalvet. XOR-tehte probleem ilmneb alates kĂ€rgist 5.7-rc1, AND ja OR alates 5.10-rc1 versioonist.
  • CVE-2021-3489 — haavatavus tuleneb ringpuhvri implementatsiooni veast ja on seotud sellega, et funktsioon bpf_ringbuf_reserve ei kontrollinud, kas eraldatud mĂ€luruumi suurus vĂ”ib olla vĂ€iksem kui ringpuhvri tegelik suurus. Probleem ilmneb alates versioonist 5.8-rc1.

Haavatavuste paranduste staatust jaotustes saab jĂ€lgida jĂ€rgmistelt lehtedelt: Ubuntu, Debian, RHEL, Fedora, SUSE, Arch. Parandused on samuti saadaval patchidena (CVE-2021-3489, CVE-2021-3490). Probleemi Ă€rakasutamise vĂ”imalus sĂ”ltub sĂŒsteemi kutsungite eBPF kĂ€ttesaadavusest kasutajale. NĂ€iteks RHEL-i vaikimisi konfiguratsioonis on haavatavuse Ă€rakasutamiseks vajalik kasutaja Ă”igused CAP_SYS_ADMIN.

Erilist tĂ€helepanu vÀÀrib ka ĂŒks haavatavus Linuxi tuumas — CVE-2021-32606, mis vĂ”imaldab kohalikul kasutajal tĂ”sta oma privileege juurtasemele. Probleem ilmneb alates Linuxi tuumast 5.11 ja tuleneb kihistumisest CAN ISOTP protokolli rakenduses, mis vĂ”imaldab muuta pordilukustamise parameetreid, kuna funktsioonis isotp_setsockopt() ei seadistatud sobivaid lukke CAN_ISOTP_SF_BROADCAST lipu töötlemisel.

PĂ€rast ISOTP sokli sulgemist jÀÀb saaja sokli sidumine endiselt toimima, vĂ”imaldades sokli struktuuride kasutamist pĂ€rast seotud mĂ€lu vabastamist (use-after-free, kuna isotp_rcv() kutse toimub juba vabastatud isotp_sock struktuuri ĂŒle). Andmete manipuleerimisega saab saavutada nĂ€idatud funktsiooni sk_error_report() nĂ€itaja ĂŒle kirjutamise ja kĂ€ivitada oma koodi tuumatasemel.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster