Linux-sikkerhed står over for endnu en udfordring efter opdagelsen af Sårbarhed CVE-2026-31431, døbt "Kopieringsfejl" af forskerne hos Xint Code. Dette designproblem er langt fra en teoretisk fejl Det giver en lokal bruger uden privilegier mulighed for at hæve sine tilladelser og få fuld adgang. som superbruger på en forudsigelig og lydløs måde.
Forskerne nævner, at denne sårbarhed er blevet udnyttet med succes i førende distributioner som Ubuntu, Amazon Linux, RHEL og SUSE, hvilket bekræfter, at ethvert system, der kører en kerne senere end version 4.14, og Bliv ved Aktivering af understøttelse af AF_ALG-sockets er potentielt sårbar til dette angreb.
Handlinger på stedet og overflow af sidecache
Vedrørende kendelsen nævnes det, at dette Det stammer fra en optimering introduceret i 2017 i kernens kryptografiske API (AF_ALG). Denne modifikation Jeg ville fjerne unødvendig buffering. udførelse af autentificeret kryptering (AEAD) direkte i samme hukommelsesplads, hvilket er kendt som "in-place"-operationer.
El Et kritisk problem opstår, når man kombinerer denne optimering med splice()-funktionen, Denne metode overfører data mellem filbeskrivelser ved at overføre direkte referencer til kernelsidens cache i stedet for fysisk at kopiere dataene. Ved anmodning om dekryptering blev hukommelsesstrukturen konfigureret således, at destinationsbufferen, som skulle være et midlertidigt område for brugeren, endte med at være direkte forbundet med cachesiderne, der indeholder systemfildataene.
Godkendelse og skrivning uden for hukommelsens grænser
El Den endelige udløser af sårbarheden ligger i authencesn-algoritmens unormale opførsel. I modsætning til andre kryptografiske rutiner, der strengt respekterer grænserne for deres destinationsbuffere, Denne specifikke algoritme bruger brugerens hukommelsesplads som et midlertidigt arbejdsområde. (kladdeblok) til at omarrangere bytesekvenser under beregning af autentificeringstags.
I denne proces skriver algoritmen fire bytes ud over den fastsatte grænse for outputområdet. På grund af in-place optimering og referencekæden skabt af splice(),Denne tilsyneladende harmløse skrivning krydser grænsen for brugerens hukommelse. og lander direkte på kernel-cachesiden, der er knyttet til den fil, der behandles.
Denne kæde af logiske fejl Det giver angriberen mulighed for vilkårligt at overskrive fire bytes i specifikke cachepositioner antal sider for enhver fil, den kan læse. Ved at sende en række beregnede anmodninger, en angriber kan injicere ondsindet kode i hukommelsesversionen af kritiske eksekverbare filer med suid-bitten sat, f.eks. brugerskifterværktøjet.
Da alle læseoperationer først forespørger sidens cache, næste gang det legitime værktøj kaldes, Systemet vil udføre den injicerede kode fra hukommelsen og give øjeblikkelige root-rettigheder. uden nogensinde at ændre den fysiske fil på harddisken. Endnu mere alarmerende er det, at fordi containerisolering deler den underliggende værts sidecache, fungerer denne sårbarhed som en direkte gateway til at undslippe virtualiserede miljøer som Kubernetes-klynger og kompromittere den primære node.
Nødpatches og afhjælpningsløsninger
I betragtning af alvoren af denne afgørelse, Vedligeholdelsesteams har implementeret nødopdateringer, hvor den endelige løsning ligger i Gendan den in-place optimering i algif_aead.c-filen, og adskil kilde- og destinationshukommelseslisterne strengt. for at forhindre, at cachelagrede sider ender i skrivbare stier.
Disse programrettelser er allerede integreret i kernerne 6.18.22, 6.19.12 og 7.0 og bliver backportet til de langsigtede supportgrene. For administratorer, der ikke umiddelbart kan genstarte eller opdatere deres servere, anbefales det at deaktivere algif_aead-kernemodulet, hvis det blev kompileret eksternt, eller at begrænse oprettelsen af AF_ALG-sockets kraftigt ved hjælp af sikkerhedspolitikker som SELinux, et skjold, der for eksempel har holdt nuværende Android-enheder sikre mod denne trussel.
Endelig, hvis du er interesseret i at lære mere, kan du finde detaljerne på følgende link.