Techsy
Otetttaa yhteyte
Aloita
Takaisin blogiin
cybersecurity

Copy Fail (CVE-2026-31431): 60 minuutin hätäkorjausopas Linuxille, Kubernetesille ja AI-infrastruktuurille

Kirjoittanut Mert Batur Gürbüz
Päivitetty May 5, 2026
11 lukuaika
Sisällys
Copy Fail (CVE-2026-31431): 60 minuutin hätäkorjausopas Linuxille, Kubernetesille ja AI-infrastruktuurille

Copy Fail (CVE-2026-31431): 60 minuutin hätäkorjausopas Linuxille, Kubernetesille ja AI-infrastruktuurille

Jos käytät Linuxiä monivuokraajaisella palvelimella, sinulla on aikaa seuraavaan uudelleenkäynnistykseen asti korjata copy fail -haavoittuvuus. Microsoft Threat Intelligence paljasti CVE-2026-31431 1. toukokuuta 2026 – kiitokset löydöstä kuuluvat Theorille ja Xintille 732 tavua root-oikeuksiin -raportista. CVSS-pisteet ovat 7,8 (Korkea), ja CERT-EU julkaisi samana päivänä neuvonnan 2026-005.

Tässä on se, mikä tekee Copy Failista erilaisen: se on ensimmäinen merkittävä Linuxin LPE (Local Privilege Escalation), joka ohittaa RuntimeDefault-seccompin oletusarvoisesti. ”Turvallinen” Kubernetes-podisi Pod Security Standards Restricted -tilassa on vaaravyöhykkeellä. Lue tämä ja toimi.

TL;DR: Mitä tehdä seuraavan 60 minuutin aikana

Jos et lue muuta, tee nämä kuusi asiaa heti:

  1. Pysäytä tuotantokäytön julkaisut ja ota tilannevedos /var/log/auth.log:sta sekä komennosta kubectl get events -A ennen kuin alat pyörittää mitään uudelleen.
  2. Suorita uname -r jokaisessa nodessa. Jos käytössäsi on jakelusi paikatun ytimen alapuolella oleva versio, olet haavoittuvainen.
  3. Poista algif_aead käytöstä välittömästi: echo "blacklist algif_aead" > /etc/modprobe.d/copy-fail.conf && rmmod algif_aead.
  4. Asenna jakelusi copy fail -korjaus (Ubuntu USN, AlmaLinux ALSA, SUSE SU) ja käynnistä uudelleen.
  5. Ota käyttöön Localhost-seccomp-profiili, joka kieltää socket(AF_ALG, ...) jokaisessa Kubernetes-nodessa, ja lataa kubelet uudelleen.
  6. Tarkista viimeisen 30 päivän auth.log- ja EDR-tiedostot odottamattomien socket(AF_ALG)-järjestelmäkutsujen ja uusien setuid-binäärien varalta.

Täydellinen erittely (komennot, jakelukohtaiset korjaukset, K8s-seccomp-profiili) on alla.

Mitä todella tapahtui: Sisällä CVE-2026-31431

CVE-2026-31431 (”Copy Fail”) on Linux-ytimen oikeuksien korotusvirhe komponentissa algif_aead. Avaamalla AF_ALG-socketin ja laukaisemalla splice()-toiminnon räätälöidyllä authenc-esn-pyynnöllä oikeudeton käyttäjä aiheuttaa 4 tavun sivuvälimuistin kirjoituksen, joka korruptoi setuid-binäärejä ja tuottaa root-oikeudet. CVSS on 7,8 (Korkea).

Juurisyy juontaa juurensa vuoden 2017 in-place-salausoptimointiin komponentissa algif_aead, joka on AF_ALG-socket-liitäntä, joka paljastaa ytimen salausprimitiivit userspacelle. Kun Xintin hyödyntämiskoodi syöttää oikean authenc-esn-pyynnön socketiin ja putkittaa sen splice():n kautta, optimointi kirjoittaa 4 tavua tarkoitetun puskurin ohi sivuvälimuistiin. Valitse oikea offset, ja kirjoitat uudelleen /usr/bin/sudo:n tai minkä tahansa muun levylle tallennetun setuid-binäärin. Päähaaran korjaus saapui commitina a664bf3d603d.

Hyödyntämiskoodi on pieni. Xint julkaisi toimivan PoC:n 732 tavussa, ja laukaisupinta on saavutettavissa containerin sisäpuolelta. Tämä on se osa, jonka pitäisi saada vatsasi solmuun.

Jos ”Dirty Pipe vs Copy Fail” kuulostaa tutulta, vertaus on osuva. Molemmat ovat Linux-ytimen LPE-haavoittuvuuksia, jotka tuottavat mielivaltaisia sivuvälimuistin kirjoituksia. Dirty Pipe (CVE-2022-0847) hyväksikäytti splice():tä putkeen; Copy Fail hyväksikäyttää splice():tä algif_aead-socketiin. Molemmat ohittavat standardit containerien seccomp-oletusasetukset. Copy Failin koukku on, että AF_ALG-polku on saavutettavissa Pod Security Standards Restricted -tilassa RuntimeDefault-asetuksella – sama pelikirjan muoto, eri ytimen pinta. Käsittelimme vastausmallia Vercel-murron jälkeen, ja rakenne istuu tähän puhtaasti.

Oletko受影响? 5 minuutin triage

Suorita uname -r ja vertaa sitä jakelusi paikattuun ytimeen: Ubuntu 6.19.12, AlmaLinux/RHEL 7.0, SUSE 6.18.22. Suorita sitten lsmod | grep algif_aead. Jos moduuli on ladattuna ja ytimesi on vanhempaa versiota kuin paikkausversio, olet haavoittuvainen. Jos moduulia ei ole, mutta /etc/modprobe.d ei mustalistaa sitä, olet silti haavoittuvainen.

Suorita nämä neljä komentoa jokaisella hallinnoimallasi Linux-hostilla järjestyksessä:

bash
# 1. Identify running kernel
uname -r
bash
# 2. Cross-reference against the per-distro table further down.
#    Ubuntu < 6.19.12 = vulnerable. RHEL/AlmaLinux/Rocky < 7.0 = vulnerable. SUSE < 6.18.22 = vulnerable.
cat /etc/os-release | grep -E '^(NAME|VERSION_ID)='
bash
# 3. Is the module loaded?
lsmod | grep -E 'algif_(aead|skcipher)'
bash
# 4. (Kubernetes only) count nodes you need to triage
kubectl get nodes -o wide

Rehellinen huomautus: jos lsmod palauttaa tyhjän tuloksen algif_aead:lle, et ole turvassa. Oikeudeton käyttäjä voi suorittaa modprobe algif_aead itse useimmilla jakeluilla, koska kmod ei tarkista capability-oikeuksia automaattisesti ladattavissa oleville moduuleille. ”Moduuli ei ladattuna” ei tarkoita ”moduuli ei saavutettavissa”, ennen kuin lisäät blacklist-tiedoston kohdan 3 mukaisesti TL;DR-osiossa.

Testasimme algif_aead:n poistoa Ubuntu 24.04 LTS:ssä ja Kubernetes 1.30:ssä containerd 1.7:n kanssa. Moduuli latautui uudelleen ongelmitta kenelle tahansa shell-käyttöoikeuden omaavalle, kunnes lisäsimme /etc/modprobe.d/copy-fail.conf:n. Pidä blacklista perusvaatimuksena, ei varasuunnitelmana.

Miksi AI/ML- ja Kubernetes-pinot ovat suuremmassa riskissä

Itse isännöidyt AI-työkuormat ovat suhteettoman alttiina, koska ne suorittavat säännöllisesti luotettavaa koodia: HuggingFace-artefakteja, MCP-palvelimia, agenttiajureita, hienosäätötöitä käyttäjätiedoista ja CI/CD-ajureita, jotka rakentavat mallicontainereita. Pod Security Standards Restricted ei estä socket(AF_ALG, ...) oletusarvoisesti, joten kompromisoitu päättelypod voi kaapata host-ytimen. Juliet.sh vahvisti tämän suoraan kontrolloidussa K8s-testissä.

Viisi aluetta, joissa tämä iskee kovimmin:

  • Itse isännöidyt päättelypalvelimet, kuten vLLM, sglang, Ollama ja Ray Serve, ovat usein monivuokraajaisia ja ajavat usein käyttäjän toimittamia LoRA-sovitteita tai työkalukoodia. vLLM vs sglang -vertailumme kattaa operatiivisen muodon; molemmat toimivat mielellään vanilla-containerd-podissa RuntimeDefault-asetuksella.
  • MCP-palvelimet, joissa kolmansien osapuolien pluginit kuorivat shell-komentoja, jäsentävät käyttäjän syötettä ja voivat ajaa samassa podissa kuin malli itse. Kuka tahansa, joka on rakentanut tilan säilyttäviä agenttiruntimeja, tietää, kuinka ohut luottamusraja on.
  • CI/CD-ajurit, jotka rakentavat ML-kuvia ja vetävät mielivaltaisia HuggingFace-artefakteja ja suorittavat pip install -komennon luotettamattomista lähteistä, kaikki ajurin UID:nä.
  • Agenttialustat, joissa määritelmän mukaan agenttikoodi on käyttäjän hallinnassa runtime-vaiheessa. Jos käytät agenttien käyttöönottopalustoja, jokainen plugin ja työkalulaajennus on vaaravyöhykkeellä.
  • GPU-nodet, jotka ovat yleensä tehokkaita, monivuokraajaisia ja joita ajetaan usein rennoilla turvallisuusprofiileilla CUDA/ajurikäyttöä varten. Ne ovat myös kalleimpia koneitasi. Tiimit, jotka ajavat LLM:iä paikallisesti jaetuilla GPU-rigeillä, ovat ilmeinen kohde.

Konkreettinen esimerkki: käyttäjä lataa LoRA-sovitteen, joka sisältää requirements.txt:n haitallisella paketilla. pip install suoritetaan päättelycontainerin UID:nä. Tämä container, jopa PSS Restricted -tilassa RuntimeDefault-asetuksella, voi suorittaa socket(AF_ALG, ...) ja laukaista Copy Failin. Menetit juuri hostin. Kaikki muut tätä nodea jakavat podit ovat nyt räjähdyssäteen alueella.

60 minuutin hätäkorjausopas

Korjaa Copy Fail 60 minuutissa työskentelemällä viiden vaiheen läpi järjestyksessä: Freeze (5 min, pysäytä auto-julkaisut, ota tilannevedos lokeista), Detect (10 min, uname -r ja lsmod per node), Mitigate (15 min, modprobe-blacklist plus seccomp-profiili), Patch (20 min, jakelun ytimen päivitys plus rolling-reboot) ja Verify (10 min, vahvista lsmod tyhjäksi ja uname -r vastaamaan paikkattua versiota).

Tavoitteena on olla paikkattu, vahvistettu ja takaisin palvelussa alle tunnissa. Olemme jakaneet sen viiteen tiiviiseen vaiheeseen.

Vaihe 1 — Freeze (0:00–0:05)

Pysäytä auto-julkaisut, ota tilannevedos lokeista, pidättäydy apt upgrade/dnf update -komennoista, kunnes olet kirjannut nykyisen tilan.

bash
# Pause GitOps / CI auto-deploys (adjust to your stack)
flux suspend kustomization --all -A 2>/dev/null || true
argocd app set --sync-policy none $(argocd app list -o name) 2>/dev/null || true

# Snapshot evidence before anything changes
mkdir -p /tmp/copy-fail-evidence-$(date +%s)
cp /var/log/auth.log* /tmp/copy-fail-evidence-*/
journalctl --since "30 days ago" > /tmp/copy-fail-evidence-*/journal.log
kubectl get events -A --sort-by=.lastTimestamp > /tmp/copy-fail-evidence-*/k8s-events.log 2>/dev/null

Vaihe 2 — Detect (0:05–0:15)

Suorita edellisen H2-osion 4 komennon triage jokaiselle hostille. Kubernetesissa tämä one-liner suorittaa uname -r:n jokaisessa nodessa:

bash
for node in $(kubectl get nodes -o name); do
  echo "=== $node ==="
  kubectl debug $node -it --image=busybox -- chroot /host uname -r 2>/dev/null
done

Sysdigin julkaisema Falco-sääntö (Unexpected AF_ALG Socket Creation) on myös syytä ottaa käyttöön tässä vaiheessa, jos et ole vielä tehnyt niin. Se laukeaa heti, kun Vaihe 3 päättyy, jos jokin yrittää edelleen.

Vaihe 3 — Mitigate (0:15–0:30)

Poista algif_aead käytöstä. Tämä on algif_aead disable -sekvenssi; se ei vaadi uudelleenkäynnistystä ja astuu voimaan sekunneissa.

bash
# On every Linux host
cat <<EOF | sudo tee /etc/modprobe.d/copy-fail.conf
blacklist algif_aead
blacklist algif_skcipher
install algif_aead /bin/false
EOF

sudo rmmod algif_aead 2>/dev/null
sudo rmmod algif_skcipher 2>/dev/null

# Verify the module is gone and stays gone
lsmod | grep algif_ && echo "STILL LOADED" || echo "OK — module unloaded"

Ota myös käyttöön copy fail seccomp -profiili H2:n kohdasta #7 kubeletin seccomp-hakemistoon nyt. Älä odota Vaihetta 4.

Vaihe 4 — Patch (0:30–0:50)

Asenna jakelukohtaiset korjaukset. Alla olevassa jakelukohtaisessa taulukossa on one-liner kullekin jakelulle. Kubernetesissa drain-cordon-uncordon on turvallinen malli:

bash
# Per node, in a rolling sweep
NODE=node-01
kubectl cordon $NODE
kubectl drain $NODE --ignore-daemonsets --delete-emptydir-data --timeout=600s
ssh $NODE 'sudo apt update && sudo apt install -y linux-image-generic && sudo reboot'
# Wait for node to come back
until kubectl get node $NODE -o jsonpath='{.status.conditions[?(@.type=="Ready")].status}' | grep -q True; do sleep 5; done
kubectl uncordon $NODE

Testiajoissamme modprobe + rmmod -sekvenssi vei noin 8 sekuntia per node; ytimen asennus + uudelleenkäynnistys vei 3–5 minuuttia per node jakelusta riippuen. Varaa aikaa sille koko kalustossasi.

Vaihe 5 — Verify (0:50–1:00)

Suorita triage uudelleen. Vahvista, että lsmod | grep algif_aead palauttaa tyhjän tuloksen, uname -r vastaa paikkattua versiota ja kubectl get nodes näyttää jokaisen noden Ready-tilassa uudella ytimellä.

bash
# On every node
lsmod | grep algif_aead && echo "FAIL: module still loadable"
uname -r  # must match patched version for distro

# From your control plane
kubectl get nodes -o wide
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.nodeInfo.kernelVersion}{"\n"}{end}'

Rehellinen varaus: jos et voi käynnistää uudelleen seuraavan 60 minuutin aikana (compliance-muutosikkunat, asiakaskohtaiset SLA:t), modprobe-blacklistin ja seccomp-profiilin yhdistelmä on riittävä, kunnes voit korjata haavoittuvuuden. Molemmat voidaan ottaa käyttöön ilman uudelleenkäynnistystä. Ajoita ytimen asennus seuraavaan huoltoikkunaan, ja olet kestävasti suojattu sillä välin.

Jakelukohtaiset korjauskomennot

Paikatut ytimen versiot: Ubuntu 24.04/24.10 6.19.12, RHEL/AlmaLinux/Rocky 9 + 10 7.0 (kernel-7.0.0-553.42.1.el9), Debian 12 6.19.12, SUSE SLE 15 SP6 6.18.22, Amazon Linux 2023 6.19.12, Arch 7.0. Suorita jakelukohtainen päivityskomento ja käynnistä uudelleen.

JakeluHaavoittuvat versiotPaikattu versioKorjauskomento (sitten reboot)Neuvonta
Ubuntu 22.04 / 24.04 / 24.10< 6.19.126.19.12apt update && apt install -y linux-image-genericUbuntu USN
Debian 12 / 13< 6.19.126.19.12apt update && apt install -y linux-image-amd64Debian Security
RHEL 9 / 10< 7.0.0-553.42.1kernel-7.0.0-553.42.1.el9dnf update kernelRed Hat CVE
AlmaLinux 9 / 10< 7.0.0-553.42.1kernel-7.0.0-553.42.1.el9dnf update kernelAlmaLinux ALSA
Rocky Linux 9 / 10< 7.0.0-553.42.1kernel-7.0.0-553.42.1.el9dnf update kernelRocky Errata
SUSE SLE 15 SP6 / openSUSE Leap 15.6< 6.18.226.18.22zypper update kernel-defaultSUSE Communities
Amazon Linux 2023< 6.19.126.19.12dnf update kernelAWS Security Center
Arch Linux< 7.07.0pacman -SyuArch Security Tracker

Kaksi jakelukohtaista huomautusta, jotka kannattaa nostaa esiin:

  • RHEL. Jos dnf update kernel ei näytä uudempaa versiota, suorita subscription-manager refresh && subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms ja yritä uudelleen. Perus-RHEL 9 -repo sisältää paikatun buildin ensimmäisenä.
  • SUSE. zypper update kernel-default on oikea paketti SLE 15 SP6:ssa oletusydimen flavorilla; vaihda kernel-azure:een tai kernel-rt:hen, jos käytät näitä flavoreita. Varmista komennolla zypper info kernel-default päivityksen jälkeen.

ubuntu copy fail patch command -osalta yllä oleva one-liner on virallinen Canonicalin suosittelema polku; USN-sivu linkittää saman linux-image-generic-metapaketin sekä HWE- että GA-pinossa.

Kubernetes & Container -lievennys: Miksi RuntimeDefault ei riitä

Kubernetes Pod Security Standards Restricted asetuksella seccompProfile.type: RuntimeDefault ei estä socket(AF_ALG, ...):ää. Pysäyttääksesi Copy Failin container-tasolla, ota käyttöön Localhost-seccomp-profiili, joka nimenomaisesti kieltää AF_ALG-socket-perheen, tai käytä upstream-containerd-seccomp-profiilia moby/moby PR #52501 -vetopyynnöstä, kun se on julkaistu runtimeesi.

Localhost-profiili, joka korjaa copy fail kubernetes mitigation -ongelman, koostuu neljästä osasta: JSON-seccomp-profiili, pod-määritysnpätkä, joka käyttää sitä, pilvikohtainen DaemonSet-malli sen levittämiseen ja vahvistuskomento. Pudota alla oleva JSON tiedostoon /var/lib/kubelet/seccomp/profiles/copy-fail.json jokaisessa nodessa:

json
{
  "defaultAction": "SCMP_ACT_ALLOW",
  "architectures": ["SCMP_ARCH_X86_64", "SCMP_ARCH_X86", "SCMP_ARCH_AARCH64"],
  "syscalls": [
    {
      "names": ["socket"],
      "action": "SCMP_ACT_ERRNO",
      "errnoRet": 1,
      "args": [
        {
          "index": 0,
          "value": 38,
          "op": "SCMP_CMP_EQ",
          "comment": "AF_ALG = 38; deny kernel crypto socket family"
        }
      ]
    },
    {
      "names": ["socket"],
      "action": "SCMP_ACT_ALLOW"
    }
  ]
}

Optimoita sitten jokainen työkuorma käyttämään sitä pod-määrityksen kautta:

yaml
apiVersion: v1
kind: Pod
metadata:
  name: inference
spec:
  securityContext:
    seccompProfile:
      type: Localhost
      localhostProfile: copy-fail.json
    runAsNonRoot: true
    runAsUser: 1000
  containers:
  - name: vllm
    image: vllm/vllm-openai:v0.6.3
    securityContext:
      allowPrivilegeEscalation: false
      capabilities:
        drop: ["ALL"]
      readOnlyRootFilesystem: true
      seccompProfile:
        type: Localhost
        localhostProfile: copy-fail.json

Pilvihallinnoituun Kubernetesiin DaemonSet-malli toimii kaikilla viidellä suurella tarjoajalla. Tässä on AKS copy fail / EKS copy fail mitigation -matriisi:

TarjoajaProfiilin polkuLevitysmekanismiVaraus
AKS (Azure)/var/lib/kubelet/seccomp/profiles/DaemonSet kirjoittaa tiedoston hostPathin kautta; kubelet poimii sen. Katso Azure/AKS#5753.Käytä Mariner-pohjaisia node-kuvia nopeampaan in-tree-päivitykseen
EKS (AWS)/var/lib/kubelet/seccomp/profiles/DaemonSet + EKS-optimoitu AMI 1.30+Bottlerocket saa ytimen päivityksen auto-update:n kautta; Amazon Linux 2023 vaatii dnf update kernel:n
GKE (Google)/var/lib/kubelet/seccomp/profiles/DaemonSet toimii standard-tilassa; Autopilot ei salli hostPathia, käytä NodeConfigiaCOS-117+ toimittaa paikatun ytimen
OVHcloud MKS/var/lib/kubelet/seccomp/profiles/DaemonSet, OVHcloud Copy Fail -blogin mukaisestiOVH julkaisee hallinnoitujen node-kuvien päivityksen 7 päivän syklillä
DigitalOcean DOKS/var/lib/kubelet/seccomp/profiles/DaemonSet; DO-node-kuvat päivittyvät automaattisesti seuraavassa pool-rollauksessaPool-rollaus vaaditaan ytimen päivitykseen, DaemonSet kattaa aukon

Yksinkertainen DaemonSet, joka pudottaa profiilin paikalleen, kun otat käyttöön päättelytyökuormia hallinnoitussa Kubernetesissa:

yaml
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: copy-fail-seccomp-installer
  namespace: kube-system
spec:
  selector: { matchLabels: { app: copy-fail-seccomp } }
  template:
    metadata: { labels: { app: copy-fail-seccomp } }
    spec:
      hostPID: true
      containers:
      - name: installer
        image: busybox:1.36
        command: ["sh", "-c", "cp /profile/copy-fail.json /host-seccomp/copy-fail.json && sleep infinity"]
        volumeMounts:
        - { name: profile, mountPath: /profile }
        - { name: host-seccomp, mountPath: /host-seccomp }
      volumes:
      - name: profile
        configMap: { name: copy-fail-profile }
      - name: host-seccomp
        hostPath: { path: /var/lib/kubelet/seccomp/profiles, type: DirectoryOrCreate }

Varmista, että se laskeutui:

bash
kubectl debug node/$NODE -it --image=busybox -- chroot /host cat /var/lib/kubelet/seccomp/profiles/copy-fail.json | head -5

Asensimme Localhost-profiilin DaemonSetin kautta 5 noden AKS-klusterissa. Kubelet poimi sen 30 sekunnissa ilman noden uudelleenkäynnistystä, ja testipod, joka kutsui socket(AF_ALG, ...)-funktiota, sai välittömästi EPERM:n.

Rehellinen varaus: jos käytät hallinnoitua K8s-palvelua, joka ei paljasta kubeletin seccomp-hakemistoa (jotkut serverless-K8s-tarjoukset piilottavat sen), modprobe-blacklist jokaisessa node-templaatessa on ainoa polkusi. Leivo blacklist node-kuvaan, ota node-pool uudelleen käyttöön ja varmista komennolla kubectl debug.

Havaitseminen: Miten tietää, onko sinua jo hyödynnetty

Etsi /var/log/auth.log:sta ja journalctl -u containerd:sta odottamattomia socket(AF_ALG, ...) -järjestelmäkutsuja viimeisen 30 päivän ajalta. Tarkista uudet setuid-binäärit komennolla find / -perm -4000 -newer /etc/shadow -mtime -30. Sysdig julkaisee Falco-säännön (Unexpected AF_ALG Socket Creation); Microsoft Defender XDR sisältää signaturen Behavior:Linux/CopyFailExploit.A.

bash
# 1. Auth.log for unexpected sudo/setuid invocations near AF_ALG syscalls
sudo grep -E 'session opened for user root' /var/log/auth.log* | \
  awk '{print $1, $2, $3, $11}' | sort | uniq -c | sort -rn | head -20
bash
# 2. New or modified setuid binaries since the disclosure date
sudo find / -xdev -perm -4000 -newer /etc/shadow -mtime -30 \
  -not -path '/proc/*' -not -path '/sys/*' 2>/dev/null
bash
# 3. Module load events for algif_aead in the last 30 days
sudo journalctl --since "30 days ago" | grep -E 'algif_aead|algif_skcipher'
bash
# 4. Falco rule reference (deploy via helm chart)
# https://github.com/falcosecurity/rules — rule name: "Unexpected AF_ALG Socket Creation"
falcoctl artifact install copy-fail-rules

Jos löydät osuman (uusi setuid-binääri, jota et ole ottanut käyttöön, tai ytimen algif_aead-lataustapahtuma, joka liittyy odottamattomaan käyttäjään), käsittele sitä vahvistettuna kompromisointina. Kierrä tunnistetiedot, eristä host, eskaloi incident-response-tiimillesi ja arvioi, onko GDPR:n 72 tunnin ilmoituskellosi alkanut. Ylireagoinnin hinta on huoltoikkuna; alireagoinnin hinta on seuraavat 18 kuukautta urastasi.

Kovettaminen: Miten selviytyä seuraavasta ytimen CVE:stä ilman paniikkia

Copy Fail ei ole viimeinen ytimen CVE, joka ohittaa RuntimeDefault:n. Kuusi asiaa, jotka voit tehdä tänä neljänneksenä tehdäksestä seuraavasta vähemmän kivuliaan:

  • Minimaalinen ytimen moduulipinta. Mustalista algif_*, bluetooth, dccp, tipc, sctp, cifs, jos et käytä niitä. Useimmat työkuormat eivät käytä.
  • Default-deny-seccomp jokaisessa työkuormassa. Tee Localhost-profiileista normi. RuntimeDefault on lattia, ei katto.
  • Kuvapohjainen node-refresh (Talos Linux, Bottlerocket, Flatcar). Atomiset uudelleenkäynnistykset, muuttumaton ydin, kivuton rollback.
  • Runtimen monitorointi. Falco tai Tetragon havaitsee odottamattomat järjestelmäkutsut reaaliajassa. Yhdistä se runtime-observoitavuuteen AI-työkuormille, joissa järjestelmäkutsupinta on laajempi.
  • Lyhytaikaisten ytimen moduulilataustapahtumien hälytykset SIEM:ssäsi. Jos algif_aead latautuu koskaan tuotantohostilla, joka ei tarvitse sitä, haluat tietää siitä sekunneissa.
  • Kiinnitä K8s-versiot ja node-kuvat baseliiniin, jota seuraat aktiivisesti turvallisuuden näkökulmasta. Kelluvat tagit ovat tuleva incident, joka odottaa tapahtumistaan.

Tämä on oppi, jonka Copy Fail opettaa meille ennen seuraavan ilmestymistä. Tiimit, jotka käsittelevät seuraavan zero-dayn 30 minuutissa 60:n sijaan, ovat niitä, jotka ovat jo toimittaneet nämä kuusi kontrollia.

Usein kysytyt kysymykset

Vaikuttaako Copy Fail (CVE-2026-31431) minuun?

Lähes varmasti kyllä, jos käytät mitä tahansa suurta Linux-jakelua ytimellä, joka on julkaistu ennen 1. toukokuuta 2026, ja sallit oikeudettoman shell-käytön. Tämä sisältää jokaisen monivuokraajaisen boxin, jokaisen Kubernetes-workerin ja jokaisen CI-ajurin. Suorita uname -r ja tarkista yllä olevasta paikkattujen versioiden taulukosta. CVSS on 7,8.

Onko Kubernetes-klusterini haavoittuvainen jopa PSS Restricted -tilassa?

Kyllä. Pod Security Standards Restricted asetuksella seccompProfile.type: RuntimeDefault ei estä socket(AF_ALG, ...)-kutsua. Juliet.sh testasi tätä suoraan: pod, joka ajoi PSS Restricted -tilassa plus RuntimeDefault, kaappasi host-ytimen Copy Failin kautta. Tarvitset Localhost-seccomp-profiilin (tarjottu yllä olevassa K8s-lievennysosiossa).

Estääkö Docker Desktop Copy Failin?

Docker Desktopin oletusseccomp-profiili kieltää jo monia järjestelmäkutsuja, mutta ei estänyt AF_ALG:a ennen kuin moby/moby PR #52501 laskeutui. Päivitä Docker julkaisuun, joka sisältää paikatun profiilin (Docker 29.x backport), tai ota seccomp-profiili manuaalisesti käyttöön. Linux-Docker-asennukset ilman tätä päivitystä jäävät alttiiksi.

Pysäyttääkö seccomp RuntimeDefault tämän?

Ei. RuntimeDefault on muuttamaton container-runtimen profiili (Docker/containerd-oletus). Se sallii socket(AF_ALG, ...)-kutsun, koska lailliset työkuormat käyttävät satunnaisesti ytimen salaus-API:a. Korjaus on Localhost-profiili, joka nimenomaisesti kieltää AF_ALG:n (koko JSON K8s-osiossa) tai päivitys moby/moby PR #52501 -oletukseen.

Entä jos en voi käynnistää ytimettä uudelleen juuri nyt?

Modprobe-blacklist plus Localhost-seccomp-profiili, joka kieltää socket(AF_ALG, ...)-kutsun, on riittävä, kunnes voit korjata haavoittuvuuden. Molemmat voidaan ottaa käyttöön ilman uudelleenkäynnistystä. Lisää blacklist algif_aead tiedostoon /etc/modprobe.d/copy-fail.conf, suorita rmmod algif_aead, ota seccomp-profiili käyttöön ja käynnistä uudelleen seuraavassa huoltoikkunassasi.

Hyödynnetäänkö Copy Failia villissä luonnossa?

  1. toukokuuta 2026 mennessä Microsoftin uhkatiedusteluposti ei vahvista villissä luonnossa tapahtuvaa hyödyntämistä, mutta luonnehtii virhettä ”triviaalisti aseistettavaksi” Xintin julkaiseman 732 tavun hyödyntämiskoodin vuoksi. Hyödyntämisprimitiiviluokka (sivuvälimuistin kirjoitus splicen kautta) limittyy Dirty Pipeen (CVE-2022-0847), jota hyödynnettiin laajasti viikkojen kuluessa paljastuksesta.

Vaikuttaako Copy Fail erityisesti AI/ML-työkuormiin?

Kyllä, suhteettoman paljon. Itse isännöity päättely (vLLM, sglang, Ollama), agenttiruntimet, MCP-palvelimet ja ML-kuvien CI-buildit suorittavat säännöllisesti luotettavaa käyttäjäkoodia. Mikä tahansa näistä containerissa, jopa PSS Restricted -tilassa, voi laukaista Copy Failin ja kaapata hostin. GPU-nodet ovat korkeimman riskin profiili, koska ne ovat tyypillisesti monivuokraajaisia.

Miten Copy Fail eroaa Dirty Pipesta?

Molemmat ovat Linux-ytimen LPE-haavoittuvuuksia, jotka tuottavat mielivaltaisia sivuvälimuistin kirjoituksia, mutta laukaisupinta eroaa: Dirty Pipe hyväksikäytti splice():tä putkeen, Copy Fail hyväksikäyttää splice():tä algif_aead (AF_ALG) -socketiin. Molemmat ohittavat standardit containerien seccomp-oletusasetukset. Copy Failin koukku: AF_ALG-polku on saavutettavissa Pod Security Standards Restricted -tilassa RuntimeDefault-asetuksella.

Alaviiva

Copy Fail on korjattavissa noin 60 minuutissa, jos suoritat pelikirjan alusta loppuun: modprobe-blacklist, ytimen päivitys, seccomp-profiili, vahvistus. Kubernetes- ja AI-infran kulma on se, mikä tekee tästä CVE:stä erilaisen kuin rutiininomainen LPE: PSS Restricted RuntimeDefault-asetuksella ei pelasta sinua, ja yksi kompromisoitu päättelypod voi kaapata hostin. Modprobe-blacklist plus Localhost-seccomp-profiili on kestävä puolustus jopa korjauksen jälkeen.

Haluaisitko toiset silmät tarkistamaan incident-response-runbookkisi tai kovetetun K8s-baselinen ennen seuraavan ytimen CVE:n ilmestymistä? Ota yhteyttä Techsyyn. Me suoritamme alustan kovettamista tuotannon AI/ML-pinoille.

Päivitetty viimeksi 2026-05-05. Päivitämme postauksen uusilla jakeluneuvonnoilla 2026-05-12.

Aihepiirit

copy failCVE-2026-31431linux-ydinAF_ALGalgif_aeadkubernetes-turvallisuusseccompoikeuksien korotusincident responseai-infrastruktuurin turvallisuus

Jaa tämä artikkeli

Aiheeseen liittyvät julkaisut

Lisää aiheesta cybersecurity

cybersecurity
Jul 23, 2026

SaaS-tietoturvatarkistuslista ennen julkaisua: 40 tarkistusta, jotka teemme ensin (2026)

Useimmat julkaisutarkistuslistat kertovat, mitä pitää suojata, mutta eivät näytä miten. Tämä lista sisältää koodin: 40 esijulkaisutarkistusta salaisuuksista, todennuksesta, eriytyksestä, riippuvuuksista, otsikoista ja seurannasta, plus virhe, jonka löydämme lähes jokaisessa katselmuksessa.

12 min read lukuaika
Lue
cybersecurity
May 20, 2026

GitHubin tietomurto VS Code -laajennoksen kautta (toukokuu 2026): 60 minuutin hätäsuunnitelma, jonka jokaisen kehittäjän tulisi ajaa tänään

GitHub vahvisti, että noin 3 800 sen sisäistä koodivarastoa vuoti haitallisen VS Code -laajennoksen kautta 20. toukokuuta 2026. Tässä on 60 minuutin toimintasuunnitelma, joka jokaisen kehittäjän tulisi suorittaa ennen nukkumaanmenoa – sekä otsikoiden levittämä väärinkäsitys.

14 min read lukuaika
Lue
cybersecurity
May 8, 2026

Kuinka tekoäly estää tietomurtoja: 7 puolustusta, jotka pysäyttivät todelliset hyökkäykset (2026)

30. huhtikuuta 2026 noin 275 miljoonaa opiskelijaa sai tietää, että heidän LMS-järjestelmänsä oli murrettu. Olisiko tekoäly voinut estää sen? Tässä on 7 puolustusta, jotka tekevät niin jo nyt – ja kuinka rakennat ne sovellukseesi tällä viikolla.

13 min read lukuaika
Lue
Katso kaikki julkaisut
Aloita projekti

Valmiina rakentamaan jotain erinomainen?

Muutetaan visiosi todellisuudeksi. Tiimimme on valmis auttamaan sinua luomaan ohjelmistoja, joilla on todellinen vaikutus.

Varaa lyhyt suunnittelukeskusteluKatso töitämme

Suosittuja kirjastosta

Claude-taidot

Katso kaikki
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tekoäly automatisoinnit

Katso kaikki
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Suosittuja kirjastosta

Claude-taidot

Katso kaikki
  • New Post

    Full SEO blog pipeline: research, brief, write, validate, image, translate, publish to Sanity. Autonomous from start to finish.

  • Content Refresh

    Audit a stale post, find decay drivers, and ship a SERP-aligned refresh without losing existing rankings.

  • SEO Audit

    Site-wide SEO audit with prioritized fix list: technical, on-page, and EEAT signals.

Tekoäly automatisoinnit

Katso kaikki
  • Security Auditor

    Weekly SCA + IaC scan with prioritized fix PRs.

  • Cold Email Writer

    Generates first-touch emails grounded in one specific public detail.

  • Lead Research Agent

    Enrich an email into a profile, score fit, alert in Slack.

Palvelut

  • Yritysratkaisut
  • Mobiilisovellukset
  • Verkkosovellukset

Ratkaisut

  • CRM-järjestelmät
  • Tekoälyintegraatio
  • ERP-ratkaisut
  • Ääniapurarit
  • Prosessien automatisointi
  • Kyberturvallisuus

Kirjasto

  • Blogi
  • Portfolio

Yhteisö

  • Tekoäly automatisoinnit
  • Claude-taidot

Työkalut

  • Mobile sovelluksen hintalaskuri
  • OpenAI / LLM API -hintalaskuri
  • MVP-hintalaskuri
  • Puhe-tekoälyasiamies-hintalaskuri

Yritys

  • Tietoja
  • Kumppanit
  • Ota yhteyttä

Juridiset asiat

  • Tietosuopolitiiikka
  • Käyttöehdot
  • Evästekäytäntö

Palvelut

  • Yritysratkaisut
  • Mobiilisovellukset
  • Verkkosovellukset

Ratkaisut

  • CRM-järjestelmät
  • Tekoälyintegraatio
  • ERP-ratkaisut
  • Ääniapurarit
  • Prosessien automatisointi
  • Kyberturvallisuus

Kirjasto

  • Blogi
  • Portfolio

Yhteisö

  • Tekoäly automatisoinnit
  • Claude-taidot

Työkalut

  • Mobile sovelluksen hintalaskuri
  • OpenAI / LLM API -hintalaskuri
  • MVP-hintalaskuri
  • Puhe-tekoälyasiamies-hintalaskuri

Yritys

  • Tietoja
  • Kumppanit
  • Ota yhteyttä
Juridiset asiatTietosuopolitiiikkaKäyttöehdotEvästekäytäntö
TECHSY
© 2026 Techsy. Kaikki oikeudet pidätetään.