Netfilter posistemio pažeidžiamumas, leidžiantis vykdyti kodą Linux branduolio lygiu

Netfilter, Linux branduolio posistemis, naudojamas tinklo paketams filtruoti ir modifikuoti, turi pažeidžiamumą (CVE-2022-25636), leidžiantį vykdyti kodą branduolio lygiu. Skelbiama, kad buvo parengtas išnaudojimo pavyzdys, leidžiantis vietiniam vartotojui padidinti savo privilegijas Ubuntu 21.10, kai išjungtas KASLR apsaugos mechanizmas. Problema atsiranda nuo 5.4 branduolio. Pataisa vis dar prieinama kaip pataisa (korekciniai branduolio leidimai nebuvo sukurti). Paketų atnaujinimų publikacijas galite sekti šiuose puslapiuose: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

Pažeidžiamumą sukelia klaida apskaičiuojant srauto->taisyklė->action.entries masyvo dydį funkcijoje nft_fwd_dup_netdev_offload (apibrėžta faile net/netfilter/nf_dup_netdev.c), dėl kurios gali būti naudojami užpuoliko valdomi duomenys. įrašytas į atminties sritį, esančią už paskirto buferio ribos. Klaida atsiranda konfigūruojant „dup“ ir „fwd“ taisykles grandinėse, kurioms naudojamas aparatinės įrangos paketų apdorojimo (iškrovimo) pagreitis. Kadangi perpildymas įvyksta prieš sukuriant paketų filtro taisyklę ir tikrinant, ar nėra iškrovimo palaikymo, pažeidžiamumas taip pat taikomas tinklo įrenginiams, kurie nepalaiko aparatinės įrangos spartinimo, pavyzdžiui, grįžtamojo ryšio sąsajai.

Pastebima, kad problemą gana paprasta išnaudoti, nes reikšmės, kurios viršija buferį, gali perrašyti žymeklį į net_device struktūrą, o duomenys apie perrašytą reikšmę grąžinami į vartotojo erdvę, kuri leidžia sužinoti adresus. atmintyje būtinas puolimui įvykdyti. Norint išnaudoti pažeidžiamumą, reikia sukurti tam tikras taisykles nftables, o tai įmanoma tik su CAP_NET_ADMIN privilegijomis, kurias gali gauti neprivilegijuotas vartotojas atskirose tinklo vardų srityse. Pažeidžiamumas taip pat gali būti naudojamas atakuoti konteinerių izoliavimo sistemas.

Šaltinis: opennet.ru

Добавить комментарий