SÄrbarheter i Dirty Frag, som Àndrar sidcache för att erhÄlla root-Ätkomst i alla Linux-distributioner

TvĂ„ sĂ„rbarheter har identifierats i Linux-kĂ€rnan, som i sin natur liknar sĂ„rbarheten Copy Fail som avslöjades för nĂ„gra dagar sedan, men som upptrĂ€der i andra delsystem — xfrm-ESP och RxRPC. SĂ„rbarheterna har fĂ„tt kodnamnet Dirty Frag (det förekommer ocksĂ„ referenser till Copy Fail 2). SĂ„rbarheterna gör det möjligt för en icke-privilegerad anvĂ€ndare att fĂ„ root-Ă„tkomst genom att skriva över processdata i sidcache. En exploit som fungerar i alla aktuella Linux-distributioner Ă€r tillgĂ€nglig. Informationen om sĂ„rbarheten offentliggjordes före publiceringen av korrigeringar, men det finns en workaround för att blockera problemet.

Dirty Frag omfattar tvÄ olika sÄrbarheter: den första i xfrm-ESP-modulen, som anvÀnds för att pÄskynda krypteringsoperationer i IPsec med hjÀlp av ESP-protokollet (Encapsulating Security Payload), och den andra i RxRPC-drivrutinen, som implementerar AF_RXRPC socket-familjen och den namngivna RPC-protokollet som arbetar ovanpÄ UDP. Var och en av sÄrbarheterna i sig kan ge root-Ätkomst. SÄrbarheten i xfrm-ESP har funnits i Linux-kÀrnan sedan januari 2017, medan sÄrbarheten i RxRPC har funnits sedan juni 2023. BÄda problemen orsakas av optimeringar som tillÄter direkt skrivning till sidcache.

För att exploatera sÄrbarheten i xfrm-ESP mÄste anvÀndaren ha rÀtt att skapa namnrymder, medan för att utnyttja sÄrbarheten i RxRPC mÄste modulen rxrpc.ko kunna laddas. Till exempel Àr det i Ubuntu förbjudet för en icke-privilegerad anvÀndare att skapa namnrymder enligt AppArmor-reglerna, men modulen rxrpc.ko laddas som standard. Vissa distributioner saknar modulen rxrpc.ko, men blockerar inte skapandet av namnrymder. Forskaren som identifierade problemet har tagit fram en kombinerad exploit som kan attackera systemet via bÄda sÄrbarheterna, vilket möjliggör exploatering av problemet i alla stora distributioner. Exploitens funktion har bekrÀftats i Ubuntu 24.04.4 med kÀrna 6.17.0-23, RHEL 10.1 med kÀrna 6.12.0-124.49.1, openSUSE Tumbleweed med kÀrna 7.0.2-1, CentOS Stream 10 med kÀrna 6.12.0-224, AlmaLinux 10 med kÀrna 6.12.0-124.52.3 och Fedora 44 med kÀrna 6.19.14-300.

Liksom i fallet med sÄrbarheten Copy Fail, orsakades problemen i xfrm-ESP och RxRPC av att avkryptering av data utfördes pÄ plats med hjÀlp av funktionen splice(), som överför data mellan filbeskrivare och rörledningar (pipe) utan att kopiera, genom att skicka referenser till element i sidcache. Offset för skrivoperationen berÀknades utan lÀmpliga kontroller som tar hÀnsyn till anvÀndningen av direktreferenser till element i sidcache, vilket möjliggjorde att genom att skicka speciellt utformade förfrÄgningar skriva över 4 byte pÄ det valda offsetet och Àndra innehÄllet i vilken fil som helst i sidcache.

Alla lÀsoperationer frÄn filer ger först innehÄllet frÄn sidcache. Om data Àndras i sidcache kommer lÀsoperationer frÄn filen att returnera inte den verkliga informationen som lagras pÄ enheten, utan modifierade data. Utnyttjandet av sÄrbarheten gÄr ut pÄ att förÀndra sidcache för en körbar fil med suid-root-flaggan. Till exempel, för att fÄ root-rÀttigheter kan man lÀsa den körbara filen /usr/bin/su för att placera den i sidcache, efter vilket man kan fÄ sin egen kod insatt i det innehÄll frÄn filen som har laddats i sidcache. En efterföljande körning av verktyget "su" kommer att resultera i att det inte Àr den original körbara filen frÄn lagringen som laddas in i minnet, utan en modifierad kopia frÄn sidcache.

Information om sÄrbarheter och koordinerad release av uppdateringar för att ÄtgÀrda problemen var planerad till den 12 maj, men pÄ grund av en informationslÀcka var man tvungen att offentliggöra informationen om sÄrbarheten innan korrigeringarna publicerades. I slutet av april publicerades patchar för rxrpc, ipsec och xfrm pÄ den offentliga mailinglistan netdev, utan att nÀmna att de var relaterade till ÄtgÀrdandet av sÄrbarheten. Den 5 maj accepterade underhÄllaren för IPsec-subsystemet en Àndring med den föreslagna korrigeringen i modulen xfrm-esp i git-repositoriet netdev, dÀr beskrivningen i hög grad var en upprepning av beskrivningen av problemet som ledde till sÄrbarheten Copy Fail i modulen algif_aead. En av sÀkerhetsforskare blev intresserad av detta fix, lyckades skapa en fungerande exploit och publicerade den, utan att veta att det fanns en embargo mot att avslöja informationen om problemet före den 12 maj.

Uppdateringar med korrigeringar för Linux-kĂ€rnan och kĂ€rnpaket i distributioner har Ă€nnu inte publicerats, men problemrelaterade patchar Ă€r tillgĂ€ngliga – xfrm-esp och rxrpc. CVE-identifierare har inte tilldelats, vilket gör det svĂ„rare att spĂ„ra uppdateringen av paket i distributionerna. Som en workaround för skydd kan du blockera inladdning av kĂ€rnmodulerna esp4, esp6 och rxrpc: sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; true"

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster