E lua vaivaiga ua maua i le Linux kernel. O nei vaivaiga e tutusa le natura ma le vaivaiga o le Copy Fail na faʻaalia i ni nai aso ua mavae, ae e aʻafia ai vaega eseese o le polokalama—xfrm-ESP ma le RxRPC. O lenei faasologa o vaivaiga ua faaigoaina faalilolilo o le Dirty Frag (e taʻua foi o le Copy Fail 2). O nei vaivaiga e mafai ai e se tagata faʻaoga e leai se avanoa ona maua ni avanoa e ala i le toe tusia o faʻamatalaga o le faagasologa i le itulau e teu ai. O loʻo avanoa se exploit e galue i luga o tufatufaga uma o Linux o loʻo iai nei. Na faʻaalia le vaivaiga aʻo leʻi lolomiina ni patch, ae o loʻo avanoa se fofo e foia ai.
E lua vaivaiga eseese e aofia i le Dirty Frag: o le muamua i le xfrm-ESP module, e faʻaaogaina e faʻavavevave ai galuega faʻailoga IPsec e faʻaaoga ai le ESP (Encapsulating Security Payload) protocol, ma le lona lua i le RxRPC driver, lea e faʻatinoina le AF_RXRPC socket family ma le RPC protocol o le igoa lava e tasi, e faʻatautaia i luga o le UDP. O vaivaiga taʻitasi, pe a faia eseese, e mafai ai ona maua avanoa faʻavae. O le vaivaiga xfrm-ESP ua i ai i le Linux kernel talu mai Ianuari 2017, ma o le vaivaiga RxRPC ua i ai talu mai Iuni 2023. O faʻafitauli uma e lua e mafua mai i faʻaleleiga e mafai ai ona tusitusi saʻo i le itulau cache.
Ina ia fa'aaogaina le vaivaiga o le xfrm-ESP, e tatau i le tagata fa'aoga ona i ai le fa'atagaga e fatu ai namespaces, ma ina ia fa'aaogaina le vaivaiga o le RxRPC, e tatau ona uta le rxrpc.ko kernel module. Mo se fa'ata'ita'iga, i le Ubuntu, o tulafono a le AppArmor e taofia ai tagata fa'aoga e le'i fa'atagaina mai le fatuina o namespaces, ae o le rxrpc.ko module e utaina i le tulaga masani. O nisi tufatufaga e leai se rxrpc.ko module ae e le poloka ai le fatuina o namespace. O le tagata su'esu'e na mauaina le fa'afitauli na atiaeina se fa'aaogaina tu'ufa'atasi e mafai ona osofa'ia le faiga e ala i vaivaiga uma e lua, ma mafai ai ona fa'aaogaina le fa'afitauli i tufatufaga tetele uma. Ua fa'amaonia le aoga o le exploit i le Ubuntu 24.04.4 ma le kernel 6.17.0-23, RHEL 10.1 ma le kernel 6.12.0-124.49.1, openSUSE Tumbleweed ma le kernel 7.0.2-1, CentOS Stream 10 ma le kernel 6.12.0-224, AlmaLinux 10 ma le kernel 6.12.0-124.52.3, ma le Fedora 44 ma le kernel 6.19.14-300.
E pei o le vaivaiga o le Copy Fail, o faʻafitauli i le xfrm-ESP ma le RxRPC e mafua mai i le faʻaliliuina o faʻamatalaga i totonu e faʻaaoga ai le galuega splice(), lea e faʻaliliuina ai faʻamatalaga i le va o faʻamatalaga faila ma paipa e aunoa ma le kopiina, e ala i le tuʻuina atu o faʻasinomaga i elemene i le itulau cache. O faʻaletonu tusitusi na fuafuaina e aunoa ma ni siaki talafeagai e faʻamatalaina ai le faʻaaogaina o faʻasinomaga tuusaʻo i elemene i le itulau cache, e mafai ai ona faia talosaga faʻapitoa e toe tusia ai le 4 bytes i se faʻaletonu tuʻuina atu ma suia mea o loʻo i totonu o soʻo se faila i le itulau cache.
O galuega uma e faitau ai faila e muamua ona toe aumai mea o loʻo i totonu o le itulau teu. Afai e suia faʻamatalaga i totonu o le itulau teu, o le a toe faafoi mai e galuega faitau faila faʻamatalaga ua suia, ae le o faʻamatalaga moni o loʻo teuina i luga o le taʻavale. O le faʻaaogaina o le vaivaiga e faʻavae i le suia o le itulau teu mo se faila e mafai ona faʻatinoina ma le suid root flag. Mo se faʻataʻitaʻiga, ina ia maua ai avanoa faʻavae, e mafai e se tasi ona faitau le faila e mafai ona faʻatinoina /usr/bin/su e tuʻu ai i totonu o le itulau teu, ona sui lea o lana lava code i mea o loʻo i totonu o lenei faila ua utaina i totonu o le itulau teu. O le faʻatinoina mulimuli ane o le "su" utility o le a iʻu ai i le kopi ua suia mai le itulau teu ua utaina i totonu o le manatua, ae le o le faila muamua e mafai ona faʻatinoina mai le taʻavale.
O le faʻalauiloaina o vaivaiga ma le faʻasalalauina faʻatasi o patch na faʻatulagaina mo le aso 12 o Me, peitaʻi ona o se faʻaletonu, na tatau ai ona lolomiina faʻamatalaga o vaivaiga aʻo leʻi faʻalauiloaina ia patch. I le faaiuga o Aperila, na lafoina ai patch mo rxrpc, ipsec, ma le xfrm i le lisi meli a le netdev e aunoa ma le taʻua o loʻo fesoʻotaʻi ma le vaivaiga. I le aso 5 o Me, na talia ai e le IPsec subsystem maintainer se suiga i le netdev Git repository faʻatasi ai ma se faʻaleleia ua fautuaina i le xfrm-esp module. O le faʻamatalaga o le suiga sa tutusa lava ma le faʻamatalaga o le faʻafitauli na mafua ai le vaivaiga o le Copy Fail i le algif_aead module. Na fiafia se tagata suʻesuʻe saogalemu i lenei faʻaleleia, ma mafai ona fatuina se exploit galue, ma lolomiina, e aunoa ma le iloaina o se faʻasa ua faʻamalosia i le faʻasalalauina o faʻamatalaga e uiga i le faʻafitauli seʻia oʻo i le aso 12 o Me.
E le'i lolomiina lava ni fa'afouga ma ni fa'aleleiga mo le Linux kernel ma afifi kernel i tufatufaga, ae o lo'o avanoa ni fa'aleleiga e foia ai fa'afitauli—xfrm-esp ma le rxrpc. E le'i tofia ni fa'ailoga CVE, lea e faigata ai ona siaki fa'afouga o afifi i tufatufaga. O se fofo, e mafai ona e poloka le utaina o modules kernel esp4, esp6, ma le 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"
puna: opennet.ru
