• CopyKat hittar 122 byggstenar som kan förvandla små minnesfel till rootåtkomst

    Ett begränsat minnesfel i Linuxkärnan behöver inte ge en angripare särskilt stor kontroll. Men säkerhetsverktyget CopyKat visar hur till synes oskyldiga kärnobjekt kan användas som förstärkare – och hjälpa angriparen att ta kontroll över hela systemet.

    Forskare vid IBM Research Europe och Vrije Universiteit Amsterdam har utvecklat CopyKat, ett automatiserat system som letar efter användbara byggstenar för avancerade attacker mot Linuxkärnan.

    Under en 32 dagar lång analys hittade systemet 122 verifierade kärnobjekt som forskarna kallar Controllable-Copy Objects, förkortat CCO. Gemensamt för objekten är att de under rätt omständigheter kan förvandla ett begränsat minnesfel till en betydligt kraftfullare skrivoperation.

    Forskarna visade att metoden fungerar i praktiken genom att konstruera åtta fullständiga attacker som gav rootbehörighet. Attackerna utgick från redan kända sårbarheter, bland annat use-after-free-fel, dubbla frigörningar av minne och skrivningar utanför ett tilldelat minnesområde. Resultaten presenterades vid USENIX Security ’26.

    Från ett litet fel till full kontroll

    Ett minnesfel i Linuxkärnan innebär inte automatiskt att en angripare kan skriva vad som helst var som helst. Felet kanske bara gör det möjligt att ändra några få byte, skriva utanför kanten på ett objekt eller använda ett minnesområde som redan har frigjorts.

    För att nå rootåtkomst behöver angriparen därför ofta hitta en metod som förstärker den begränsade möjligheten.

    Det är här de objekt som CopyKat letar efter kommer in i bilden.

    Ett CCO är en datastruktur som har skapats i kärnans dynamiska minne och innehåller en pekare till ett annat minnesområde. Pekaren används senare av exempelvis memcpy eller memmove för att bestämma vart information ska kopieras.

    Om en angripare kan ändra pekaren kan kärnans egen kopieringsfunktion luras att skriva angriparens data till en annan plats.

    Det kan jämföras med att någon bara har möjlighet att ändra adressfältet på en fraktsedel. Personen kan inte själv flytta varorna, men genom att skriva dit en annan adress får den legitima transportören att leverera lasten till fel plats.

    I Linuxkärnan kan den nya destinationen exempelvis vara en struktur som innehåller användarens UID och GID. Om dessa värden ändras till noll kan angriparens process få samma behörigheter som root.

    Angrepp utan att kapa programmets väg

    Traditionella attacker mot operativsystemets kärna försöker ofta ändra programmets kontrollflöde. Angriparen manipulerar exempelvis en funktionspekare eller returadress så att processorn börjar köra kod som angriparen har valt.

    Moderna skydd som Control-Flow Integrity gör sådana angrepp svårare. De kontrollerar att programmet följer tillåtna vägar genom koden.

    Dataorienterade attacker fungerar annorlunda. Kärnan fortsätter att köra sina vanliga funktioner i rätt ordning, men funktionerna arbetar med manipulerade uppgifter. Eftersom kontrollflödet inte behöver kapas kan attacken passera skydd som huvudsakligen övervakar vilka kodvägar som används.

    CopyKat söker därför efter legitima kärnobjekt som kan missbrukas för att flytta data till en plats som angriparen väljer.

    Tre analyssteg sållade fram objekten

    Forskarna byggde CopyKat som en kedja av tre analyser.

    I det första steget användes en modifierad version av fuzzverktyget Syzkaller tillsammans med en instrumenterad Linuxkärna. Systemet följde hur information från användarutrymmet flyttades genom kärnan och letade efter kopieringar där måladressen påverkades av en pekare lagrad i ett kärnobjekt.

    Fuzzningen hittade 434 intressanta operationer. Av dessa var 386 anrop till memcpy, medan resterande huvudsakligen bestod av memmove och enklare skrivoperationer.

    Den snabba analysen kunde även rapportera falska träffar. Kandidaterna granskades därför i ett andra steg med PANDA, en analysplattform som kan spela in och upprepa körningen av ett helt system. Där kontrollerades att data verkligen kom från användaren och att måladressen verkligen hämtades från det misstänkta objektet.

    Slutligen användes plattformen S2E för så kallad concolic exekvering, en kombination av konkret och symbolisk programkörning. CopyKat ändrade objektets pekare och undersökte vilka villkor som måste vara uppfyllda för att kärnan fortfarande skulle nå fram till kopieringsoperationen.

    Efter den stegvisa sållningen återstod 122 verifierade CCO-objekt. Av dessa fanns 52 i nätverkskoden, 31 i filsystemen och 12 bland drivrutinerna. Övriga hittades bland annat i kryptografi-, ljud-, minnes- och säkerhetskod. Analysen genomfördes på Linux 6.4.1, enligt forskarnas fullständiga rapport.

    Åtta attacker slutade med rootåtkomst

    För att visa att objekten inte bara var teoretiskt intressanta byggde forskarna åtta kompletta privilegieattacker utifrån fyra tidigare kända sårbarheter.

    I demonstrationerna användes CCO-objekten för att styra skrivningar mot säkerhetskritiska delar av kärnminnet. Forskarna kunde bland annat ändra användaruppgifter eller manipulera inställningarna modprobe_path och core_pattern, vilka under vissa förutsättningar kan få kärnan att starta ett program med förhöjda rättigheter.

    Sju av attackerna använde separata systemanrop för att skapa objektet och aktivera kopieringen. I det åttonde fallet skedde båda momenten inom samma systemanrop. Angriparen behövde då träffa ett mycket kort tidsfönster, vilket forskarna lyckades göra med flera trådar och en blockeringsmekanism baserad på FUSE.

    Forskarna uppger samtidigt att exploateringen fortfarande krävde flera manuella och tekniskt avancerade moment. CopyKat skapar alltså inte automatiskt ett färdigt rootangrepp, men systemet kan minska det arbete som krävs för att hitta lämpliga objekt och förstå hur de måste manipuleras.

    Inte 122 nya Linuxsårbarheter

    Resultatet betyder inte att forskarna har hittat 122 nya säkerhetshål. CCO-objekten är vanliga delar av kärnan som normalt utför legitima uppgifter.

    För att missbruka ett sådant objekt behöver angriparen redan ha tillgång till ett användbart minnesfel. Angriparen måste dessutom kunna placera ett lämpligt CCO nära det sårbara minnesområdet, ändra rätt pekare, uppfylla objektets övriga villkor och aktivera kopieringen vid rätt tidpunkt.

    Undersökningen gjordes på Linux 6.4.1. Den visar därför inte att samtliga 122 objekt finns kvar eller fungerar på exakt samma sätt i alla nyare kärnversioner och distributioner.

    Linuxanvändare behöver inte installera någon särskild nöduppdatering på grund av CopyKat. Däremot understryker forskningen betydelsen av att installera vanliga säkerhetsuppdateringar, eftersom ett till synes begränsat minnesfel kan vara mer användbart för en angripare än en första bedömning visar.

    Kan påvhttps://www.usenix.org/conference/usenixsecurity26/technical-sessionserka hur kärnfel bedöms

    Den viktigaste följden av CopyKat kan bli hur säkerhetsforskare, distributioner och kärnutvecklare bedömer nya minnessårbarheter.

    Ett fel som tidigare har klassats som svårt att utnyttja kan bli betydligt allvarligare om det går att kombinera med ett lämpligt CCO. Databasen över objekten kan därför användas för att prioritera sårbarheter och utveckla nya skydd mot dataorienterade attacker.

    Forskarna inforhttps://www.usenix.org/conference/usenixsecurity26/technical-sessionsmerade Linuxutvecklaren Greg Kroah-Hartman före publiceringen. Bedömningen var att forskningen kunde publiceras utan embargo eftersom CopyKat beskriver en exploateringsteknik och inte en ny direkt sårbarhet. De åtta färdiga attackerna har inte offentliggjorts i vapenfärdig form.

    CopyKat visar därmed hur säkerhetskapplöpningen förändras. När skydden mot traditionell kapning av kontrollflödet blir bättre söker angripare efter andra vägar. I stället för att få kärnan att köra främmande kod kan det räcka att lura dess befintliga kod att flytta rätt data till fel plats.

    https://www.usenix.org/conference/usenixsecurity26/technical-sessions

    Rapporten är på ca 7000 sidor.

  • SCTPhantom – 18 år gammal Linux-bugg kan ge angripare rootåtkomst

    En 18 år gammal sårbarhet i Linuxkärnans SCTP-kod kan ge lokala angripare fullständig rootåtkomst. Säkerhetsforskarna bakom upptäckten har även visat att felet under vissa förutsättningar kan användas för att ta sig ur en container och angripa värdsystemet.

    Sårbarheten har fått namnet SCTPhantom och registrerats som CVE-2026-64564. Den finns i Linuxkärnans stöd för nätverksprotokollet SCTP och uppges ha introducerats redan i Linux 2.6.25, som lanserades våren 2008.

    Det innebär att felet har kunnat följa med genom nästan två decennier av utveckling, trots att miljontals rader kod har granskats, ändrats och förbättrats under tiden.

    Vad är SCTP?

    SCTP står för Stream Control Transmission Protocol och är, precis som TCP och UDP, ett protokoll för att överföra information över nätverk.

    En viktig skillnad är att SCTP kan använda flera nätverksadresser inom samma anslutning. Om en server har flera nätverkskort eller internetförbindelser kan trafiken fortsätta över en annan väg om den första slutar fungera. Funktionen används bland annat inom telekommunikation och andra system där hög tillgänglighet är viktig.

    SCTP kan dessutom lägga till och ta bort IP-adresser medan en anslutning pågår. Det är just i denna dynamiska adresshantering som SCTPhantom finns.

    En borttagen nätverksväg som fortfarande används

    Linuxkärnan håller reda på de olika nätverksvägar som hör till en SCTP-anslutning. Sårbarheten gör det möjligt att skicka en särskilt konstruerad serie SCTP-kommandon som först tar bort en sådan nätverksväg och därefter försöker använda den igen.

    Problemet är att kärnan fortfarande har kvar en pekare till det borttagna objektet.

    Det kan jämföras med att ett företag river en byggnad men glömmer att ta bort adressen ur sitt register. När samma mark senare används till något annat fortsätter företagets personal att skicka instruktioner till den gamla adressen. Instruktionerna riskerar då att påverka något helt annat än det ursprungligen var tänkt.

    Inom programmering kallas detta för use-after-free. Ett område i minnet har frigjorts, men programmet fortsätter ändå att använda en gammal hänvisning till området.

    I ett vanligt program kan ett sådant fel leda till att programmet kraschar. När felet finns i operativsystemets kärna blir konsekvenserna betydligt allvarligare. Kärnan har tillgång till hela datorns minne, all hårdvara och samtliga användarkonton.

    En angripare som lyckas kontrollera hur det frigjorda minnet återanvänds kan därför i vissa fall manipulera kärnan och ge sin egen process högsta möjliga behörighet: root.

    Fungerade på flera Linuxdistributioner

    Forskarna vid Tencents Zhuque Lab lyckades utnyttja sårbarheten och erhålla rootåtkomst på flera olika system. Bland de testade miljöerna fanns:

    • Debian 13 med Linux 6.12.95
    • Ubuntu 24.04 med Linux 6.8.0-134
    • Rocky Linux 9 och RHEL 9-baserade system med leverantörens 5.14-kärna
    • ett OpenCloudOS-baserat system med Linux 6.6.119
    • en testmiljö med Linux 7.2-rc2

    Resultaten visar att sårbarheten inte är begränsad till en enskild Linuxdistribution eller kärngeneration.

    Det betyder däremot inte att vem som helst kan angripa samtliga Linuxdatorer direkt över internet. För den demonstrerade lokala attacken måste angriparen redan kunna köra kod på datorn eller i en miljö som har tillgång till den sårbara SCTP-funktionen.

    Därför kan en container inte alltid skydda värddatorn

    En container kan se ut som en separat dator, men den använder i själva verket samma Linuxkärna som värdsystemet. Tekniker som namnrymder, Linux capabilities och seccomp begränsar vad processerna i containern får göra, men det finns ingen separat kärna mellan containern och värddatorn.

    Om en angripare hittar ett exploaterbart fel i själva kärnan kan gränsen mellan containern och värdsystemet därför kringgås.

    Tencent genomförde åtta försök att utnyttja SCTPhantom från en container. I sex av försöken fick forskarna rootåtkomst på värddatorn. De två misslyckade försöken stannade vid minneshanteringen utan att krascha kärnan.

    Testcontainern använde en standardskapad seccomp-profil och hade varken CAP_NET_ADMIN eller CAP_SYS_ADMIN, två kraftfulla rättigheter som normalt inte bör ges till okända containrar.

    Resultatet innebär dock inte att alla Linuxcontainrar automatiskt går att bryta sig ur. Risken påverkas bland annat av:

    • om SCTP finns installerat och kan aktiveras
    • vilka typer av nätverkssocklar containern får skapa
    • hur användarnamnrymder är konfigurerade
    • containerns seccomp-regler
    • tilldelade Linux capabilities
    • säkerhetssystem som AppArmor och SELinux

    Containerns körmiljö, version och exakta konfiguration påverkar alltså om attacken över huvud taget är möjlig.

    En liten rättning stoppar ett komplicerat angrepp

    Det intressanta med SCTPhantom är skillnaden mellan sårbarhetens komplexitet och rättningens storlek.

    Attacken kräver avancerad manipulation av kärnans minne. Själva programfelet kan däremot stoppas genom en relativt liten ändring: Linuxkärnan tillåts inte längre ta bort den SCTP-transport som fortfarande används för att behandla det aktuella ASCONF-meddelandet.

    Därmed uppstår inte längre den kvarlämnade pekare som attacken bygger på.

    Enligt Linuxkärnans CVE-information är de första korrigerade versionerna i berörda stabila utvecklingsgrenar:

    • Linux 6.6.148
    • Linux 6.12.101
    • Linux 6.18.42
    • Linux 7.1.6
    • Linux 7.2-rc5 i huvudgrenen

    Linuxdistributioner använder emellertid ofta egna kärnpaket. En leverantör kan flytta över säkerhetsrättningen till en äldre kärna utan att ändra kärnans huvudsakliga versionsnummer. Därför går det inte alltid att avgöra om en dator är skyddad genom att enbart kontrollera resultatet från uname -r.

    Debian 13 ”Trixie” fick exempelvis rättningen genom säkerhetskärnan 6.12.101-1. Vid publiceringen markerade Debians säkerhetsspårare fortfarande de dåvarande kärnpaketen för Debian 12 och Debian 11 som sårbara.

    Vad bör Linuxanvändare göra?

    Det viktigaste är att installera de säkerhetsuppdateringar som tillhandahålls av den aktuella Linuxdistributionen och därefter starta om datorn så att den nya kärnan verkligen används.

    Administratörer bör särskilt kontrollera servrar där flera användare kan köra program, system som kör containrar och miljöer där opålitlig kod behandlas.

    Om SCTP inte används kan avstängning av SCTP-modulen minska angreppsytan i väntan på en uppdatering. Det bör dock ses som en tillfällig skyddsåtgärd och inte som en ersättning för att installera en korrigerad kärna.

    SCTPhantom visar samtidigt varför även gammal och till synes stabil kod behöver fortsätta granskas. Ett litet misstag i minneshanteringen kan ligga dolt i närmare två decennier – och förvandlas från en bortglömd pekare till en huvudnyckel för hela systemet.

    https://nvd.nist.gov/vuln/detail/CVE-2026-64564

  • Återbruka en gammal dator som webb-styrd internetradio

    Kortversion: I stället för att spela upp internetradio i din egen enhet låter du en gammal dator stå för ljudet – och styr den från valfri webbläsare på samma nätverk. Perfekt för uttjänta kontors-PC som redan har en okej högtalare eller är kopplade till en stereo.
    Det var länge sedan man körde fordon på ånga – varför ta emot radio via gamla FM-sändare när du kan streama över internet, helt utan brus?

    Jag har i en rad tidigare artiklar på linux.se skrivit om hur man kan återbruka sin gamla dator som internetradio. Ett av dessa projekt har utmynnat i https://radio.televinken.org, där man kan välja mellan olika radiostationer som sedan spelas upp i den egna enhetens högtalare. Den lösningen fungerar på allt från macOS, Windows, Android, Linux, iPadOS osv.

    Det här projektet fungerar lite annorlunda: man använder en dator som själva högtalaren, men styr den via webben. Har du till exempel en uttjänt dator som ändå har bra högtalare – eller kanske har du kopplat den till ett par schyssta högtalare – kan du, med det här skriptet, styra vad som spelas upp via din telefon, surfplatta, dator eller annan enhet med webbläsare.

    Det här går utmärkt att göra med datorer som annars skulle slängas på elektronikåtervinningen.

    En viktig aspekt: Kör inte denna dator direkt på internet. Ha den i stället på ditt lokala nätverk (LAN) bakom en router, eller helst en brandvägg.

    Så här gör du:

    1. Du behöver en fungerande dator med 64-bitars CPU – ungefär från 2007 eller senare. PC eller Mac spelar ingen roll.
    2. Du kan i stort sett välja vilken Linuxdistribution du vill, men linux.se har testat med Debian 12 och KDE Plasma. Har du en äldre dator med mindre RAM och enklare CPU, kan du till exempel använda XFCE i stället för KDE. Teoretiskt kan det även fungera på en textbaserad Linuxinstallation, men guiden är inte anpassad för det, eftersom man då kan behöva installera extra paket som normalt inte ingår i en ren serverinstallation av Linux.
    3. Börja med att skapa ett Debian-installations-USB. Installera Debian på datorn. Se till att datorn inte innehåller någon viktig information – allt på hårddisken raderas vid installationen.
    4. När Debian är installerat, logga in som root.
    5. Kör kommandot:
      apt install apache2 php mpv
    6. Redigera sudo-behörigheter genom att skriva:
      visudo
      Lägg till följande rad under:
      # User privilege specification
      root ALL=(ALL:ALL) ALL
    7. Lägg till:
      www-data ALL=(root) NOPASSWD: /usr/bin/mpv, /bin/kill, /usr/bin/pkill
      Det här gör att användaren www-data (webbservern) får köra programmen mpv, kill och pkill utan lösenord. Det är också en av anledningarna till att den här maskinen inte bör vara direktkopplad till internet.
    8. Ta reda på datorns IP-adress genom att skriva ip a eller ifconfig.
      Gå sedan till en annan enhet och skriv in din radiodators IP-adress, till exempel:
      http://192.168.1.2
      Du bör nu se Debians testsida för Apache – grattis, din webbserver fungerar!
    9. Gå till katalogen /var/www/html och lägg där in skriptet som finns för nedladdning i denna artikel. Spara PHP-filen i den sökvägen.
    10. Gå nu till din radiodators IP från en annan enhet – om allt fungerar bör du få upp en webbaserad radiokontroll i monokrom grön stil.

    Scriptet kan laddas ner
    https://www.linux.se//download/radio.php.gz

    🇺🇸 Click here for English version
    In several previous articles on linux.se, we’ve covered how to repurpose old computers as internet radios. One of those projects resulted in https://radio.televinken.org, where you can choose from a variety of radio stations that then play through the speakers of your own device. This works on macOS, Windows, Android, Linux, iPadOS, etc.

    This project works a bit differently: the computer acts as the speaker, but you control it via the web. So if you have an old machine with decent speakers — or you’ve hooked it up to good external speakers — you can control what’s playing via your phone, tablet, laptop or any browser-equipped device.

    This is a great use for computers that would otherwise end up at the electronics recycling center.

    One important note: do not connect this machine directly to the internet. Keep it on your local network (LAN), preferably behind a firewall or router.

    Here’s how to do it:

    You’ll need a working computer with a 64-bit CPU — roughly from 2007 or later. It doesn’t matter if it’s a PC or Mac. In theory it could also work on a text-only Linux installation, but this guide assumes a graphical environment because minimal server installs may lack required packages.

    You can use almost any Linux distribution, but we tested with Debian 12 and KDE Plasma. For older computers with less RAM and slower CPUs, XFCE is a better alternative to KDE. Again, text-only installs might work but are not covered here.

    First, create a Debian installation USB and install Debian on the old computer. Be sure the disk contains nothing important — the installation will erase everything.

    Once Debian is installed, log in as root and run:
    apt install apache2 php mpv

    Then configure sudo access:
    visudo

    Under the section:
    # User privilege specification
    root ALL=(ALL:ALL) ALL


    Add this line:
    www-data ALL=(root) NOPASSWD: /usr/bin/mpv, /bin/kill, /usr/bin/pkill

    This gives the web server permission to run those programs without a password — one of several reasons why this machine should not be exposed to the internet.

    Next, find the machine’s IP address by running ip a or ifconfig.

    Then, from another device, enter the IP in your browser, e.g.:
    http://192.168.1.2

    You should now see Debian’s Apache test page — your web server is working!

    Go to /var/www/html and place the script from this article there. Save the PHP file in that directory.

    Then visit your radio computer’s IP from another device — if all is working, you’ll get a web-based radio controller in a monospaced green style.

    Download the script from:
    https://www.linux.se//download/radio.php.gz

    If you have suggestions or improvements, feel free to contact us via the form on the website.

    Om du har förslag på förbättringar är Ni välkommen att kommunicera med oss via kontaktfunktionen som finns på hemsidan.

    LAN Radio Controller (PHP/JS) Funktioner: • Internetradio med stationer hämtade från stations.json • Start/stopp av MPV-spelare utan sidomladdning via AJAX • Visning av datum på svenska inklusive veckodag, datum och veckonummer • Analog och digital klocka – växla mellan dem i gränssnittet • Station väljs från dropdown, stoppknapp för att avsluta uppspelning • Sidomeny med alternativ: växla klockstorlek, nytt fönster, klockläge • MPV styrs via socket (/tmp/mpvsocket) och PID hanteras för stabilitet • Design i terminalstil med grönt på svart och monospace-typsnitt

Etikett: rootåtkomst

  • CopyKat hittar 122 byggstenar som kan förvandla små minnesfel till rootåtkomst

    Ett begränsat minnesfel i Linuxkärnan behöver inte ge en angripare särskilt stor kontroll. Men säkerhetsverktyget CopyKat visar hur till synes oskyldiga kärnobjekt kan användas som förstärkare – och hjälpa angriparen att ta kontroll över hela systemet. Forskare vid IBM Research Europe och Vrije Universiteit Amsterdam har utvecklat CopyKat, ett automatiserat system som letar efter användbara…

  • SCTPhantom – 18 år gammal Linux-bugg kan ge angripare rootåtkomst

    En 18 år gammal sårbarhet i Linuxkärnans SCTP-kod kan ge lokala angripare fullständig rootåtkomst. Säkerhetsforskarna bakom upptäckten har även visat att felet under vissa förutsättningar kan användas för att ta sig ur en container och angripa värdsystemet. Sårbarheten har fått namnet SCTPhantom och registrerats som CVE-2026-64564. Den finns i Linuxkärnans stöd för nätverksprotokollet SCTP och…

  • Återbruka en gammal dator som webb-styrd internetradio

    Kortversion: I stället för att spela upp internetradio i din egen enhet låter du en gammal dator stå för ljudet – och styr den från valfri webbläsare på samma nätverk. Perfekt för uttjänta kontors-PC som redan har en okej högtalare eller är kopplade till en stereo. Jag har i en rad tidigare artiklar på linux.se…