Ang kahinaan sa netfilter subsystem na nagbibigay-daan sa pagpapatupad ng code sa antas ng kernel ng Linux

Ang Netfilter, isang subsystem ng Linux kernel na ginagamit upang i-filter at baguhin ang mga network packet, ay may kahinaan (CVE-2022-25636) na nagpapahintulot sa pagpapatupad ng code sa antas ng kernel. Inihayag na ang isang halimbawa ng pagsasamantala ay inihanda na nagbibigay-daan sa isang lokal na gumagamit na itaas ang kanilang mga pribilehiyo sa Ubuntu 21.10 nang hindi pinagana ang mekanismo ng proteksyon ng KASLR. Lumilitaw ang problema simula sa kernel 5.4. Ang pag-aayos ay magagamit pa rin bilang isang patch (ang pagwawasto ng mga paglabas ng kernel ay hindi pa nabuo). Maaari mong sundin ang mga publikasyon ng mga update sa package sa mga pamamahagi sa mga pahinang ito: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

Ang kahinaan ay sanhi ng isang error sa pagkalkula ng laki ng flow->rule->action.entry array sa nft_fwd_dup_netdev_offload function (tinukoy sa file net/netfilter/nf_dup_netdev.c), na maaaring humantong sa data na kontrolado ng attacker. nakasulat sa isang lugar ng memorya na lampas sa hangganan ng inilaan na buffer. Lumilitaw ang error kapag kino-configure ang "dup" at "fwd" na mga panuntunan sa mga chain kung saan ginagamit ang hardware acceleration ng packet processing (offload). Dahil nangyayari ang overflow bago gumawa ng panuntunan sa packet filter at suriin ang suporta sa pag-offload, nalalapat din ang kahinaan sa mga network device na hindi sumusuporta sa hardware acceleration, gaya ng loopback interface.

Napansin na ang problema ay medyo simple upang pagsamantalahan, dahil ang mga halaga na lumampas sa buffer ay maaaring ma-overwrite ang pointer sa istraktura ng net_device, at ang data tungkol sa na-overwrit na halaga ay ibinalik sa espasyo ng gumagamit, na nagpapahintulot sa iyo na malaman ang mga address sa memorya na kinakailangan upang maisagawa ang pag-atake. Ang pagsasamantala sa kahinaan ay nangangailangan ng paglikha ng ilang mga panuntunan sa mga nftable, na posible lamang sa mga pribilehiyo ng CAP_NET_ADMIN, na maaaring makuha ng isang walang pribilehiyong user sa isang hiwalay na mga namespace ng network. Ang kahinaan ay maaari ding gamitin sa pag-atake ng mga container isolation system.

Pinagmulan: opennet.ru

Magdagdag ng komento