Twa kwetsberheden binne ûntdutsen yn 'e Linux-kernel. Dizze kwetsberheden binne fergelykber yn aard mei de Copy Fail-kwetsberens dy't ferskate dagen lyn iepenbiere is, mar se beynfloedzje ferskate subsystemen - xfrm-ESP en RxRPC. Dizze searje kwetsberheden hat de koadenamme Dirty Frag (ek wol oantsjutten as Copy Fail 2). Dizze kwetsberheden meitsje it mooglik foar in net-privileezjeare brûker om root-rjochten te krijen troch prosesgegevens yn 'e sidecache te oerskriuwen. Der is in exploit beskikber dy't wurket op alle hjoeddeistige Linux-distribúsjes. De kwetsberens waard iepenbiere foardat patches publisearre waarden, mar der is in workaround beskikber.
Dirty Frag beslacht twa ferskillende kwetsberheden: de earste yn 'e xfrm-ESP-module, dy't brûkt wurdt om IPsec-fersiferingsoperaasjes te fersnellen mei it ESP (Encapsulating Security Payload)-protokol, en de twadde yn 'e RxRPC-stjoerprogramma, dat de AF_RXRPC-socketfamylje en it RPC-protokol mei deselde namme ymplementearret, en oer UDP rint. Elke kwetsberens, apart nommen, makket root-privileezjes mooglik. De xfrm-ESP-kwetsberens is sûnt jannewaris 2017 oanwêzich yn 'e Linux-kernel, en de RxRPC-kwetsberens is sûnt juny 2023 oanwêzich. Beide problemen wurde feroarsake troch optimalisaasjes dy't direkt skriuwen nei de sidecache mooglik meitsje.
Om de kwetsberens fan xfrm-ESP te eksploitearjen, moat de brûker tastimming hawwe om nammeromten oan te meitsjen, en om de kwetsberens fan RxRPC te eksploitearjen, moat de kernelmodule rxrpc.ko laden wurde. Bygelyks, yn Ubuntu foarkomme AppArmor-regels dat net-privileezjeare brûkers nammeromten oanmeitsje, mar de module rxrpc.ko wurdt standert laden. Guon distribúsjes misse de module rxrpc.ko, mar blokkearje it oanmeitsjen fan nammeromten net. De ûndersiker dy't it probleem ûntduts, ûntwikkele in kombineare exploit dy't it systeem fia beide kwetsberheden oanfalle kin, wêrtroch it mooglik is om it probleem op alle grutte distribúsjes te eksploitearjen. De exploit is befêstige te wurkjen op Ubuntu 24.04.4 mei kernel 6.17.0-23, RHEL 10.1 mei kernel 6.12.0-124.49.1, openSUSE Tumbleweed mei kernel 7.0.2-1, CentOS Stream 10 mei kernel 6.12.0-224, AlmaLinux 10 mei kernel 6.12.0-124.52.3, en Fedora 44 mei kernel 6.19.14-300.
Lykas by de kwetsberens fan Copy Fail, wurde de problemen yn xfrm-ESP en RxRPC feroarsake troch yn-place gegevensûntsleuteling mei de splice() funksje, dy't gegevens oerdraacht tusken bestânsdeskriptors en pipes sûnder te kopiearjen, troch ferwizings troch te jaan nei eleminten yn 'e sidecache. Skriuwoffsets waarden berekkene sûnder juste kontrôles om rekken te hâlden mei it gebrûk fan direkte ferwizings nei eleminten yn 'e sidecache, wêrtroch spesjaal makke oanfragen 4 bytes by in bepaalde offset oerskriuwe en de ynhâld fan elk bestân yn 'e sidecache oanpasse kinne.
Alle triemlêsoperaasjes helje earst ynhâld op út 'e sidecache. As gegevens yn 'e sidecache oanpast wurde, sille triemlêsoperaasjes ferfangende gegevens weromjaan, net de werklike ynformaasje dy't opslein is op 'e skiif. Eksploitaasje fan 'e kwetsberens komt del op it oanpassen fan 'e sidecache foar in útfierber bestân mei de suid root-flag. Bygelyks, om root-rjochten te krijen, koe men it útfierbere bestân /usr/bin/su lêze om it yn 'e sidecache te pleatsen, en dan har eigen koade ferfange yn 'e ynhâld fan dit bestân dat yn 'e sidecache laden is. Folgjende útfiering fan it "su"-hulpprogramma sil resultearje yn it laden fan 'e oanpaste kopy fan 'e sidecache yn it ûnthâld, net it orizjinele útfierbere bestân fan 'e skiif.
De iepenbiering fan 'e kwetsberens en koördinearre frijlitting fan patches stie pland foar 12 maaie, mar fanwegen in lek moast de ynformaasje oer de kwetsberens publisearre wurde foardat de patches frijjûn waarden. Ein april waarden patches foar rxrpc, ipsec en xfrm pleatst op 'e iepenbiere mailinglist fan netdev sûnder te neamen dat se relatearre wiene oan 'e kwetsberens. Op 5 maaie akseptearre de ûnderhâlder fan it IPsec-subsysteem in feroaring oan 'e netdev Git-repository mei in foarstelde fix yn 'e xfrm-esp-module. De beskriuwing fan 'e feroaring wie foar in grut part identyk oan 'e beskriuwing fan it probleem dat late ta de Copy Fail-kwetsberens yn 'e algif_aead-module. In feiligensûndersiker rekke ynteressearre yn dizze fix, slagge deryn in wurkjende exploit te meitsjen en publisearre it, net bewust dat der in embargo oplein wie op it iepenbier meitsjen fan ynformaasje oer it probleem oant 12 maaie.
Updates mei reparaasjes foar de Linux-kernel en kernelpakketten yn distribúsjes binne noch net publisearre, mar patches dy't de problemen oanpakke binne beskikber - xfrm-esp en rxrpc. CVE-identifiers binne net tawiisd, wat it folgjen fan pakketupdates yn distribúsjes komplisearret. As in tydlike oplossing kinne jo it laden fan 'e esp4-, esp6- en rxrpc-kernelmodules blokkearje: 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"
Boarne: opennet.ru
