I Netfilter, en del af Linux-kernen, der bruges til filtrering og ændring af netværkspakker, er der opdaget en sårbarhed (CVE-2022-25636), der muliggør udførelse af kode på kerneniveau. Der er rapporteret om udarbejdelsen af et exploit, der giver en lokal bruger mulighed for at hæve sine privilegier i Ubuntu 21.10 med den beskyttelsesmekanisme KASLR deaktiveret. Problemet opstår fra kerne 5.4. En rettelse er endnu ikke tilgængelig som en kernelopdatering (korrektive kerneludgivelser er ikke blevet dannet). Man kan følge med i offentliggørelsen af opdateringspakker i distributionerne på disse sider: Debian, SUSE, Ubuntu, RHEL, Fedora, Gentoo, Arch Linux.
Sårbarheden er forårsaget af en fejl i beregningen af størrelsen på arrayet flow->rule->action.entries i funktionen nft_fwd_dup_netdev_offload (defineret i filen net/netfilter/nf_dup_netdev.c), hvilket kan føre til skrivning af kontrollerede data af en angriber i hukommelsesområdet uden for det tildelte buffer. Fejlen opstår, når der konfigureres reglerne 'dup' og 'fwd' i kæder, hvor der anvendes hardware acceleration til behandling af pakker (offload). Da overflowet opstår, før der oprettes en pakke-filtreringsregel og kontrolleres for støtte til offload, gælder sårbarheden også for netværksenheder, der ikke understøtter hardware acceleration, såsom loopback-interface.
Det er bemærket, at problemet er relativt nemt at udnytte, da værdier, der overskrider bufferens grænser, kan overskrive pekeren til strukturen net_device, og dataene fra den overskrevne værdi returneres til brugerrummet, hvilket gør det muligt at finde de adresser i hukommelsen, der er nødvendige for at udføre et angreb. For at udnytte sårbarheden kræves det, at der oprettes specifikke regler i nftables, hvilket kun er muligt med privilegierne CAP_NET_ADMIN, som kan opnås af en ikke-privilegeret bruger i et separat netværksnavnrum (network namespace). Sårbarheden kan også udnyttes til angreb på systemer med containerisolering.
Kilde: opennet.ru
