Yn 'e kearn Linux Twa kwetsberheden binne identifisearre dy't fergelykber binne fan aard mei de Copy Fail-kwetsberens dy't in pear dagen lyn bekend makke is, mar dy't ynfloed hawwe op ferskate subsystemen - xfrm-ESP en RxRPC. De 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 distribúsjes. LinuxDe kwetsberens waard iepenbiere foardat de patches waarden útbrocht, mar der bestiet in tydlike oplossing om it probleem te blokkearjen.
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 kwetsberens yn xfrm-ESP manifestearret him yn 'e kernel. Linux sûnt jannewaris 2017, en de kwetsberens yn RxRPC sûnt juny 2023. Beide problemen wurde feroarsake troch optimalisaasjes dy't direkt skriuwen nei de sidecache tastean.
Om de kwetsberens yn xfrm-ESP te eksploitearjen, moat de brûker de rjochten hawwe om nammeromten oan te meitsjen, en om de kwetsberens yn RxRPC te eksploitearjen, moat de mooglikheid oanwêzich wêze om de kernelmodule rxrpc.ko te laden. Bygelyks, yn Ubuntu AppArmor-regels ferbiede net-privileezjeare brûkers om nammeromten oan te meitsjen, mar de rxrpc.ko-module wurdt standert laden. Guon distribúsjes misse de rxrpc.ko-module, mar it oanmeitsjen fan nammeromten wurdt net blokkearre. 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 yn alle grutte distribúsjes te eksploitearjen. De exploit is befêstige te wurkjen yn 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.
Kernel patch-updates Linux De 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
