Linux-säkerhet står inför ytterligare en utmaning efter upptäckten av sårbarhet CVE-2026-31431, kallad "Kopieringsfel" av forskarna på Xint Code. Långt ifrån att vara en teoretisk brist, detta designproblem Det tillåter en lokal användare utan behörigheter att utöka sina behörigheter och få fullständig åtkomst. som superanvändare på ett förutsägbart och tyst sätt.
Forskarna nämner att denna sårbarhet har utnyttjats framgångsrikt i ledande distributioner som Ubuntu, Amazon Linux, RHEL och SUSE, vilket bekräftar att alla system som kör en kärna senare än version 4.14 och upprätthåller Att aktivera stöd för AF_ALG-sockets är potentiellt sårbart till denna attack.
Åtgärder på plats och sidcacheöverflöde
Angående domen nämns att detta Det går tillbaka till en optimering som introducerades 2017 i kärnans kryptografiska API (AF_ALG). Denna modifiering Jag ville eliminera onödig buffring. att utföra autentiserade krypteringsoperationer (AEAD) direkt i samma minnesutrymme, vilket kallas "in-place"-operationer.
El Ett kritiskt problem uppstår när man kombinerar denna optimering med splice()-funktionen, Den här metoden överför data mellan fildeskriptorer genom att överföra direkta referenser till kärnsidans cache istället för att fysiskt kopiera informationen. Vid begäran om dekryptering konfigurerades minnesstrukturen så att destinationsbufferten, som skulle vara ett tillfälligt utrymme för användaren, blev direkt länkad till cachesidorna som innehåller systemfildata.
Autentisering och skrivning utanför minnets gränser
El Den slutliga utlösaren av sårbarheten ligger i authencesn-algoritmens avvikande beteende. Till skillnad från andra kryptografiska rutiner som strikt respekterar gränserna för sina destinationsbuffertar, Denna specifika algoritm använder användarens minnesutrymme som ett tillfälligt arbetsområde. (scratch pad) för att ordna om bytesekvenser under beräkning av autentiseringstaggar.
I den här processen skriver algoritmen fyra byte bortom den fastställda gränsen för utdataområdet. På grund av optimering på plats och referenskedjan som skapas av splice(),Detta till synes harmlösa skrivande korsar gränsen för användarens minne. och landar direkt på kärnans cache-sida som är associerad med filen som bearbetas.
Denna kedja av logiska misslyckanden Det ger angriparen möjligheten att godtyckligt skriva över fyra byte i specifika cachepositioner. av sidor för vilken fil den kan läsa. Genom att skicka en serie beräknade förfrågningar, en angripare kan injicera skadlig kod i minnesversionen av kritiska körbara filer med suid-biten inställd, till exempel användarväxlarverktyget.
Eftersom alla läsoperationer först frågar sidans cache, nästa gång det legitima verktyget anropas, Systemet kommer att exekvera den injicerade koden från minnet, vilket ger omedelbara root-behörigheter. utan att någonsin ändra den fysiska filen på hårddisken. Ännu mer alarmerande är att eftersom containerisolering delar den underliggande värdens sidcache, fungerar denna sårbarhet som en direkt inkörsport för att undkomma virtualiserade miljöer som Kubernetes-kluster och kompromettera den primära noden.
Nödpatchar och lösningar för begränsning
Med tanke på allvaret i detta beslut, Underhållsteam har distribuerat nöduppdateringar, där den slutgiltiga lösningen ligger i Återställ den aktuella optimeringen i algif_aead.c-filen, med strikt separering av käll- och destinationsminneslistor. för att förhindra att cachade sidor hamnar i skrivbara sökvägar.
Dessa patchar har redan integrerats i kärnorna 6.18.22, 6.19.12 och 7.0, och backportas till de långsiktiga supportgrenarna. För administratörer som inte omedelbart kan starta om eller uppdatera sina servrar rekommenderas det att inaktivera kärnmodulen algif_aead om den kompilerades externt, eller att kraftigt begränsa skapandet av AF_ALG-sockets med hjälp av säkerhetspolicyer som SELinux, en sköld som till exempel har hållit nuvarande Android-enheter säkra från detta hot.
Slutligen, om du är intresserad av att lära dig mer, kan du hitta detaljerna på följande länk.