Kwetsberheden yn it eBPF-subsysteem dy't koade útfiere kinne op it Linux-kernelnivo

Twa nije kwetsberens binne identifisearre yn it eBPF-subsysteem, wêrtroch jo handlers yn 'e Linux-kernel kinne útfiere yn in spesjale firtuele masine mei JIT. Beide kwetsberens meitsje it mooglik om jo koade út te fieren mei kernelrjochten, bûten in isolearre eBPF firtuele masine. Ynformaasje oer de problemen waard publisearre troch it Zero Day Initiative-team, dat de Pwn2Own-kompetysje rint, wêryn't dit jier trije oanfallen op Ubuntu Linux oantoand waarden dy't earder ûnbekende kwetsberens brûkten (of de kwetsberens yn eBPF relatearre binne oan dizze oanfallen wurdt net rapportearre) .

  • CVE-2021-3490 - De kwetsberens wurdt feroarsake troch in gebrek oan 32-bit-out-of-bound-kontrôle by it útfieren fan bitwize AND-, OR- en XOR-operaasjes yn eBPF ALU32. In oanfaller kin profitearje fan dizze flater om gegevens bûten de grinzen fan 'e tawiisde buffer te lêzen en te skriuwen. It probleem mei XOR-operaasjes ferskynt begjinnend fan kernelferzje 5.7-rc1, en EN en OR - begjinnend fan 5.10-rc1.
  • CVE-2021-3489 - De kwetsberens wurdt feroarsake troch in flater yn 'e ymplemintaasje fan' e ringbuffer en komt troch it feit dat de bpf_ringbuf_reserve-funksje de mooglikheid net kontrolearre dat de grutte fan 'e tawiisde ûnthâldregio minder wêze kin as de werklike grutte fan de ringbuf. It probleem ferskynt sûnt release 5.8-rc1.

De status fan patching-kwetsberheden yn distribúsjes kin wurde folge op dizze siden: Ubuntu, Debian, RHEL, Fedora, SUSE, Arch). Fixes binne ek beskikber as patches (CVE-2021-3489, CVE-2021-3490). Oft it probleem kin wurde eksploitearre hinget ôf fan oft de eBPF-systeemoprop tagonklik is foar de brûker. Bygelyks, yn 'e standertkonfiguraasje yn RHEL fereasket eksploitaasje fan' e kwetsberens dat de brûker CAP_SYS_ADMIN-rjochten hat.

Apart kinne wy ​​​​in oare kwetsberens yn 'e Linux-kernel opmerke - CVE-2021-32606, wêrtroch in lokale brûker har privileezjes op it rootnivo kin ferheegje. It probleem is dúdlik sûnt Linux kernel 5.11 en wurdt feroarsake troch in race betingst yn de útfiering fan it CAN ISOTP protokol, dat makket it mooglik om te feroarjen de socket binende parameters fanwege it gebrek oan it ynstellen fan de goede slûzen yn de isotp_setsockopt () funksje by it ferwurkjen fan de CAN_ISOTP_SF_BROADCAST flagge.

Nei't de ISOTP-socket is sluten, bliuwt de bining oan 'e ûntfanger-socket yn wurking, wat kin trochgean mei it brûken fan de struktueren dy't ferbûn binne mei de socket nei't it ûnthâld ferbûn is mei har is befrijd (gebrûk-nei-frij fanwege de oprop nei in isotp_sock-struktuer dat is al frijmakke doe't isotp_rcv () wurdt neamd). Troch gegevensmanipulaasje kinne jo de oanwizer nei de funksje sk_error_report () oerskriuwe en jo koade útfiere op kernelnivo.

Boarne: opennet.ru

Add a comment