NYHETER

Fem år gammal Linux-sårbarhet ger root på sekunder

Fem år gammal Linux-sårbarhet ger root på sekunder

En säkerhetsbrist i Linux-kärnan som funnits sedan 2017 har nu fått ett namn: Copy Fail. Sårbarheten, registrerad som CVE-2026-31431, avslöjades den 29 april 2026 av forskare på säkerhetsföretaget Theori.

Bristen gör det möjligt för en vanlig användare, utan administratörsbehörighet, att skriva fyra kontrollerade byte direkt in i sidcachen (page cache) för valfri läsbar fil på systemet. Eftersom Linux-kärnan läser sidcachen när den kör ett program innebär det att en angripare kan modifiera hur ett program beter sig i minnet, utan att röra filen på disk. Inga filsystemlarm utlöses.

Hur fungerar det?

Felet sitter i kärnans kryptografigränssnitt algif_aead, som exponerar AEAD-chiffer mot användarutrymmet via AF_ALG-socketar. En optimering från 2017 fick kärnan att behandla källa och destination som samma minnesutrymme vid krypteringsoperationer. Det öppnade en väg där sidcachesidor från en fil, inmatad via splice(), hamnar i utdatascatterlistan.

Algoritmen authencesn(hmac(sha256),cbc(aes)) skriver fyra byte som tillfälligt utrymme under bearbetningen. På grund av felet hamnar dessa byte i sidcachen för den inmatade filen i stället för i ett isolerat buffertområde. HMAC-verifieringen misslyckas som förväntat, men skrivningen i sidcachen kvarstår.

Genom att upprepa operationen vid olika offset kan en angripare placera in en liten kodsnutt i sidcachen för ett setuid-program som /usr/bin/su. Nästa gång programmet körs exekveras den modifierade versionen och angriparen får ett rootskal.

Proof of concept på 732 byte

Theori har publicerat ett fungerande proof of concept: ett Python-skript på 732 byte som ger root på Ubuntu 24.04, Amazon Linux 2023, RHEL 10.1 och SUSE 16. Till skillnad från tidigare liknande brister som Dirty Cow och Dirty Pipe kräver Copy Fail ingen tajmad kapplöpning (race condition) och fungerar tillförlitligt på i princip alla Linuxdistributioner som släppts sedan 2017.

Sårbarheten är inte fjärrutnyttjbar på egen hand, men om den kombineras med ett annat angrepp, till exempel ett RCE-hål i en webbapplikation eller ett komprometterat CI-flöde, kan en extern angripare använda den för att ta full kontroll. Den är också ett potentiellt sätt att ta sig ut ur en container i Kubernetes-miljöer, eftersom sidcachen delas med värdsystemet.

Berörda versioner

Alla Linux-kärnor från version 4.14 (juli 2017) upp till och med 6.18.21 och 6.19.11 är sårbara. Fixade versioner är 7.0, 6.19.12 och 6.18.22. Äldre LTS-linjer som 6.12.x, 6.6.x, 5.15.x och 5.10.x är också berörda och väntar på bakåtporterade patchar.

Debian, Ubuntu och SUSE har redan skickat ut patchar. Red Hat tvekade inledningsvis men bekräftade sedan att de också patchar skyndsamt. CVSS-betyget är 7.8 (High).

Vad bör du göra?

Uppdatera kärnan så snart din distribution erbjuder en patch. Är du i en miljö med delade kärnor, till exempel Kubernetes-noder eller CI-runners som kör opålitlig kod, bör du prioritera detta högt. Håll ett öga på din distributions säkerhetsbulletin för bakåtporterade fixar till äldre LTS-versioner.