Sårbarhet i undersystemet netfilter som tillåter kodexekvering på Linux-kärnnivå

Netfilter, ett undersystem till Linux-kärnan som används för att filtrera och modifiera nätverkspaket, har en sårbarhet (CVE-2022-25636) som tillåter kodexekvering på kärnnivå. Det tillkännages att ett exempel på en exploatering har utarbetats som tillåter en lokal användare att höja sina privilegier i Ubuntu 21.10 med KASLR-skyddsmekanismen inaktiverad. Problemet uppstår från kärnan 5.4. Fixeringen är fortfarande tillgänglig som en patch (korrigerande kärnutgåvor har inte genererats). Du kan följa publiceringarna av paketuppdateringar i distributioner på dessa sidor: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.

Sårbarheten orsakas av ett fel vid beräkning av storleken på arrayen flow->rule->action.entries i funktionen nft_fwd_dup_netdev_offload (definierad i filen net/netfilter/nf_dup_netdev.c), vilket kan leda till att angriparkontrollerad data skrivs till ett minnesområde bortom gränsen för den allokerade bufferten. Felet visas när du konfigurerar "dup" och "fwd"-reglerna i kedjor för vilka hårdvaruacceleration av paketbearbetning (offload) används. Eftersom överflödet inträffar innan en paketfilterregel skapas och efter avlastningsstöd kontrolleras, gäller sårbarheten även nätverksenheter som inte stöder hårdvaruacceleration, till exempel ett loopback-gränssnitt.

Det noteras att problemet är ganska enkelt att utnyttja, eftersom värden som går utöver bufferten kan skriva över pekaren till net_device-strukturen, och data om det överskrivna värdet returneras till användarutrymmet, vilket gör att du kan ta reda på adresserna i minnet som behövs för att utföra attacken. Utnyttjande av sårbarheten kräver skapandet av vissa regler i nftables, vilket endast är möjligt med CAP_NET_ADMIN-privilegierna, som kan erhållas av en oprivilegierad användare i ett separat nätverksnamnutrymme. Sårbarheten kan också användas för att attackera containerisoleringssystem.

Källa: opennet.ru

Lägg en kommentar