Linux kernel áážáŹ áĄáŹá¸áááşá¸ááťááşáážá áşááŻááᯠáážáŹáá˝áąáá˝áąáˇáážááá˛áˇááŤáááşá ááŽáĄáŹá¸áááşá¸ááťááşáá˝áąáᏠáááşáĄáááşá¸áááşá ááŻááşááąáŹáşááźááá˛áˇáá˛áˇ Copy Fail áĄáŹá¸áááşá¸ááťááşáá˛áˇ áááąáŹáááŹááááşáá°ááąáááˇáş xfrm-ESP áá˛áˇ RxRPC áááŻáá˛áˇ subsystem áĄááťááŻá¸ááťááŻá¸ááᯠáááşááąáŹááşáážáŻáážáááŤáááşá ááŽáĄáŹá¸áááşá¸ááťááşáá˝áąááᯠDirty Frag (Copy Fail 2 áááŻáˇ ááŻááşááŹáááşááąá¸ááŹá¸) áááŻáˇ áĄáááşááąá¸ááŹá¸ááŤáááşá ááŽáĄáŹá¸áááşá¸ááťááşáá˝áąá áĄáá˝ááˇáşáá°á¸áááśááá˛áˇ user áá áşááąáŹááşááᯠpage cache áážáŹ process data áá˝áąááᯠoverwrite ááŻááşááźááşá¸áĄáŹá¸ááźááˇáş root privilege áá˝áą ááážáá áąááŤáááşá áááşáážá Linux distribution áĄáŹá¸ááŻáśá¸áážáŹ áĄááŻááşááŻááşáá˛áˇ exploit áá áşáᯠááážááááŻááşááŤáááşá patch áá˝áą áááŻááşááąáááşáážáŹ áĄáŹá¸áááşá¸ááťááşááᯠááŻááşááąáŹáşááźááá˛áˇááąáááˇáş workaround áá áşáᯠááážááááŻááşááŤáááşá
Dirty Frag áááş áĄáŹá¸áááşá¸ááťááşáážá áşááŻááᯠááŻáśá¸áá˝ááşááŹá¸áááş- ááááá áşááŻáážáŹ ESP (Encapsulating Security Payload) protocol ááᯠáĄááŻáśá¸ááźáŻá IPsec encryption ááŻááşááąáŹááşááťááşááťáŹá¸ááᯠáĄáážáááşááźážááˇáşáááşáĄááŻáśá¸ááźáŻáááˇáş xfrm-ESP module áážá áĄáŹá¸áááşá¸ááťááşááźá áşááźáŽá¸ ááŻááááá áşááŻáážáŹ UDP ááąáŤáşáá˝ááş áááşáááşááąááąáŹ AF_RXRPC socket family áážááˇáş áĄáááşáá° RPC protocol ááᯠáĄááąáŹááşáĄáááşááąáŹáşáááˇáş RxRPC driver áážá áĄáŹá¸áááşá¸ááťááşááźá áşáááşá áĄáŹá¸áááşá¸ááťááşáá áşááŻá áŽááᯠááŽá¸ááźáŹá¸á áŽáá°ááŤá root privileges ááťáŹá¸ááᯠáá˝ááˇáşááźáŻáááşá xfrm-ESP áĄáŹá¸áááşá¸ááťááşáááş Linux kernel áá˝ááş áááá ááŻáážá áş áááşáááŤááŽááážá á áážáááąáá˛áˇááźáŽá¸ RxRPC áĄáŹá¸áááşá¸ááťááşáááş áááá ááŻáážá áş áá˝ááşááážá á áážáááąáá˛áˇáááşá ááźáżááŹáážá áşááŻá ááŻáśá¸áááş page cache áááŻáˇ áááŻááşáááŻááşááąá¸ááŹá¸áá˝ááˇáşááźáŻáááˇáş optimization ááťáŹá¸ááźáąáŹááˇáş ááźá áşááąáŤáşááŹáááşá
xfrm-ESP áĄáŹá¸áááşá¸ááťááşááᯠáĄááŻáśá¸ááťáááşáĄáá˝ááş áĄááŻáśá¸ááźáŻáá°áááş namespace ááťáŹá¸áááşááŽá¸áá˝ááˇáşáážáááááşááźá áşááźáŽá¸ RxRPC áĄáŹá¸áááşá¸ááťááşááᯠáĄááŻáśá¸ááťáááşáĄáá˝ááş rxrpc.ko kernel module ááᯠload ááŻááşááááşááźá áşáááşá áĽáááŹáĄáŹá¸ááźááˇáş Ubuntu áá˝ááş AppArmor á ááşá¸ááťááşá¸ááťáŹá¸áááş áĄáá˝ááˇáşáá°á¸ááážáááąáŹáĄááŻáśá¸ááźáŻáá°ááťáŹá¸ááᯠnamespace ááťáŹá¸áááşááŽá¸ááźááşá¸ááž ááŹá¸ááŽá¸ááąá¸ááąáŹáşáááşá¸ rxrpc.ko module ááᯠdefault áĄááąááźááˇáş load ááŻááşááŹá¸áááşá áĄááťááŻáˇ distribution ááťáŹá¸áá˝ááş rxrpc.ko module áááŤáááşááąáŹáşáááşá¸ namespace áááşááŽá¸áážáŻááᯠáááááşáááŻáˇááŤá ááźáżááŹááᯠáážáŹáá˝áąáá˝áąáˇáážááá˛áˇááąáŹ ááŻááąááŽáááş áĄáŹá¸áááşá¸ááťááşáážá áşááŻááŻáśá¸áážáá áşáááˇáş á áá áşááᯠáááŻááşáááŻááşáááŻááşáááˇáş combined exploit áá áşááŻááᯠááŽáá˝ááşáá˛áˇááźáŽá¸ áĄááá distribution áĄáŹá¸ááŻáśá¸áá˝ááş ááźáżááŹááᯠáĄááŻáśá¸ááťáááŻááşá áąáá˛áˇáááşá áᎠexploit áᏠUbuntu 24.04.4 áážáŹ kernel 6.17.0-23á RHEL 10.1 áážáŹ kernel 6.12.0-124.49.1á openSUSE Tumbleweed áážáŹ kernel 7.0.2-1á CentOS Stream 10 áážáŹ kernel 6.12.0-224á AlmaLinux 10 áážáŹ kernel 6.12.0-124.52.3 áá˛áˇ Fedora 44 áážáŹ kernel 6.19.14-300 áááŻáˇáá˛áˇ áĄááŻááşááŻááşááźáąáŹááşá¸ áĄáááşááźáŻááźáŽá¸ááŤááźáŽá
Copy Fail áĄáŹá¸áááşá¸ááťááşáá˛áˇáááŻáˇáááşá xfrm-ESP áážááˇáş RxRPC áážá ááźáżááŹááťáŹá¸áááş splice() function ááᯠáĄááŻáśá¸ááźáŻá in-place data decryption ááźáąáŹááˇáşááźá áşááźáŽá¸á áááşá¸áááş page cache áážá element ááťáŹá¸áááŻáˇ reference ááťáŹá¸ááąá¸áááŻáˇááźááşá¸ááźááˇáş file descriptors ááťáŹá¸áážááˇáş pipe ááťáŹá¸áĄááźáŹá¸ data ááťáŹá¸ááᯠcopy áááŻááşáᲠáá˝ážá˛ááźáąáŹááşá¸ááąá¸áááşá page cache áážá element ááťáŹá¸áááŻáˇ direct reference ááťáŹá¸áĄááŻáśá¸ááźáŻáážáŻááᯠáááˇáşáá˝ááşá¸á ááşá¸á áŹá¸áááş Write offset ááťáŹá¸ááᯠáááˇáşááťáąáŹáşááąáŹ á á áşááąá¸áážáŻááťáŹá¸áááŤáᲠáá˝ááşááťááşáá˛áˇááźáŽá¸á áĄáá°á¸ááźáŻááŻááşááŹá¸ááąáŹ request ááťáŹá¸áááş ááąá¸ááŹá¸ááąáŹ offset áá˝ááş 4 bytes ááᯠoverwrite ááŻááşáááşáážááˇáş page cache áážá áááşáááˇáşáááŻááşá content ááťáŹá¸áááŻáááᯠááźáŻááźááşáááş áá˝ááˇáşááźáŻáááşá
áááŻááşáááşáážáŻááźááşá¸ááŻááşááąáŹááşááťááşáĄáŹá¸ááŻáśá¸áááş á áŹááťááşáážáŹáááşáážáşááž áĄááźáąáŹááşá¸áĄááŹááťáŹá¸ááᯠáŚá¸á á˝áŹááá°áááşá á áŹááťááşáážáŹáááşáážáşáážáááąááŹááᯠááźáŻááźááşáá˝ááşá¸ááśááŤá áááŻááşáááşáážáŻááźááşá¸ááŻááşááąáŹááşááťááşááťáŹá¸áááş áĄá áŹá¸áááŻá¸ááąááŹááᯠááźááşááąá¸áááşááźá áşááźáŽá¸ drive áá˝ááşááááşá¸áááşá¸ááŹá¸ááąáŹ ááááˇáşáĄááťááşáĄáááşááťáŹá¸áááŻááşáᲠááźááşááąá¸áááşááźá áşáááşá áĄáŹá¸áááşá¸ááťááşááᯠáĄááŻáśá¸ááťááźááşá¸áááş suid root flag ááŤááąáŹ executable áááŻááşáĄáá˝ááş á áŹááťááşáážáŹáááşáážáşááᯠááźáŻááźááşáá˝ááşá¸ááśááźááşá¸áĄáá áĄááťáŻáśá¸áááşáááşá áĽáááŹáĄáŹá¸ááźááˇáş root privileges ááážááááşá executable áááŻááş /usr/bin/su ááᯠá áŹááťááşáážáŹáááşáážáşáá˝ááşáááˇáşáááş áááşááźáŽá¸ááąáŹááş áááşá¸áááŻáˇááááŻááşáááŻááşááŻááşááᯠá áŹááťááşáážáŹáááşáážáşáá˛áááŻáˇ áááşááŹá¸ááąáŹ á¤áááŻááşá áĄááźáąáŹááşá¸áĄááŹáá˛áááŻáˇ áĄá áŹá¸áááŻá¸áááŻááşáááşá "su" utility ááᯠááąáŹááşáááşáá˝á˛ááŻááşááąáŹááşááźááşá¸áááş drive ááž áá°áááşá¸ executable áááŻááşáááŻááşáᲠá áŹááťááşáážáŹáááşáážáşááž ááźáŻááźááşááŹá¸ááąáŹ áááášáá°ááᯠáážááşááŹááşáá˛áááŻáˇ áááşá áąáááşááźá áşáááşá
áĄáŹá¸áááşá¸ááťááşááŻááşááąáŹáşááźááşá¸áážááˇáş ááąáŤááşá¸á ááşáážááážááŻááşá¸ááŹá¸ááąáŹ patches ááťáŹá¸ááŻááşááźááşááźááşá¸ááᯠááąá áá áááşááąáˇáá˝ááş á áŽá ááşááŹá¸ááąáŹáşáááşá¸ áááŻá áááˇáşáážáŻááźáąáŹááˇáş áĄáŹá¸áááşá¸ááťááşáĄááťááşáĄáááşááťáŹá¸ááᯠpatches ááťáŹá¸ááŻááşááźááşááźááşá¸áááźáŻáᎠááŻááşááźááşáááş áááŻáĄááşáá˛áˇáááşá á§ááźáŽááážáąáŹááşá¸áááŻááşá¸áá˝ááş rxrpcá ipsec áážááˇáş xfrm áĄáá˝ááş patches ááťáŹá¸ááᯠáĄáŹá¸áááşá¸ááťááşáážááˇáş áááşá ááşááąááźáąáŹááşá¸ áááąáŹáşááźáᲠnetdev public mailing list áá˝ááş áááşáá˛áˇáááşá ááąá á áááşááąáˇáá˝ááş IPsec subsystem maintainer áááş xfrm-esp module áá˝ááş áĄáááŻááźáŻááŹá¸ááąáŹ ááźááşáááşááťááşááźááˇáş netdev Git repository áá˝ááş ááźáąáŹááşá¸áá˛áážáŻááᯠáááşááśáá˛áˇáááşá ááźáąáŹááşá¸áá˛áážáŻáááąáŹáşááźááťááşáááş algif_aead module áážá Copy Fail áĄáŹá¸áááşá¸ááťááşááᯠááźá áşááąáŤáşá áąáááˇáş ááźáżááŹáááąáŹáşááźááťááşáážááˇáş áĄááťáŹá¸áĄáŹá¸ááźááˇáş áá°ááŽáááşá ááŻáśááźáŻáśááąá¸ááŻááąááŽáá áşáŚá¸áááş á¤ááźááşáááşááťááşááᯠá áááşáááşá áŹá¸ááŹááźáŽá¸ áĄááŻááşááŻááşááąáŹ exploit áá áşááŻááᯠáááşááŽá¸áááŻááşáá˛áˇááźáŽá¸ ááąá áá áááşááąáˇáĄáá ááźáżááŹáážááˇáşáááşáááşáááˇáş áĄááťááşáĄáááşááťáŹá¸ááᯠááŻááşááąáŹáşááźááşá¸áĄááąáŤáş ááááşáááşááŹá¸ááźáąáŹááşá¸ ááááážááᲠááŻááşááąáá˛áˇáááşá
ááźááˇáşááźá°á¸áážáŻááťáŹá¸áá˝ááş Linux kernel áážááˇáş kernel package ááťáŹá¸áĄáá˝ááş ááźááşáááşáážáŻááťáŹá¸ááŤáážáááąáŹ áĄááşááááşááťáŹá¸ááᯠáááŻááşááąáááąá¸ááąáŹáşáááşá¸ ááźáżááŹááťáŹá¸ááᯠááźáąáážááşá¸ááąá¸áááˇáş patch ááťáŹá¸âxfrm-esp áážááˇáş rxrpcâááážááááŻááşááŤáááşá CVE identifier ááťáŹá¸ááᯠááááşáážááşáááąá¸ááąáŹááźáąáŹááˇáş ááźááˇáşááźá°á¸áážáŻááťáŹá¸áá˝ááş package áĄááşááááşááťáŹá¸ááᯠááźáąááŹááśááźááşá¸ááᯠáážáŻááşáá˝áąá¸á
áąáááşá ááźáąáážááşá¸áááşá¸áá
áşááŻáĄááąááźááˇáş esp4á esp6 áážááˇáş rxrpc kernel module ááťáŹá¸ áááşááźááşá¸ááᯠááááşáááŻáˇáááŻááşáááş- 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"
source: opennet.ru
