Techsy
Kontakt
Kom i gang
Tilbage til blog
cybersecurity

Copy Fail (CVE-2026-31431): 60-minutters nødpatch-playbook til Linux, Kubernetes og AI-infrastruktur

Skrevet af Mert Batur Gürbüz
Opdateret May 5, 2026
12 minutters læsning
Indholdsfortegnelse
Copy Fail (CVE-2026-31431): 60-minutters nødpatch-playbook til Linux, Kubernetes og AI-infrastruktur

Copy Fail (CVE-2026-31431): 60-minutters nødpatch-playbook til Linux, Kubernetes og AI-infrastruktur

Hvis du kører Linux på en multi-tenant-boks, har du indtil din næste genstart til at fikse copy fail-sårbarheden. Microsoft Threat Intelligence offentliggjorde CVE-2026-31431 den 1. maj 2026 — kredit til Theori for opdagelsen og Xint for 732-byte-til-root write-up'et. CVSS ligger på 7,8 (High), og CERT-EU udsendte advisory 2026-005 samme dag.

Det, der gør Copy Fail anderledes, er dette: det er den første store Linux-LPE, der slår RuntimeDefault seccomp fra starten. Din "sikre" Kubernetes-pod med Pod Security Standards Restricted er i farezonen. Læs dette og handl.

TL;DR: Hvad du skal gøre i de næste 60 minutter

Hvis du ikke læser andet, så gør disse seks ting lige nu:

  1. Sæt produktion-deployments på pause og snapshot /var/log/auth.log og kubectl get events -A, før du begynder at rotere noget.
  2. Kør uname -r på hver node. Hvis du ligger under den patchede kernel for din distro, er du sårbar.
  3. Deaktivér algif_aead med det samme: echo "blacklist algif_aead" > /etc/modprobe.d/copy-fail.conf && rmmod algif_aead.
  4. Anvend din distros copy fail-patch (Ubuntu USN, AlmaLinux ALSA, SUSE SU) og genstart.
  5. Placér en Localhost seccomp-profil, der afviser socket(AF_ALG, ...), på hver Kubernetes-node og genindlæs kubelet.
  6. Revidér de seneste 30 dages auth.log + EDR for uventede socket(AF_ALG)-syscalls og nye setuid-binærer.

Den fulde gennemgang (kommandoer, distro-specifikke patches, K8s seccomp-profil) er nedenfor.

Hvad der faktisk skete: Indeni CVE-2026-31431

CVE-2026-31431 ("Copy Fail") er en Linux-kernel privilege escalation-fejl i algif_aead. Ved at åbne en AF_ALG-socket og udløse splice() med en specialfremstillet authenc-esn-forespørgsel får en uprivilegeret bruger en 4-byte page-cache-skrivning, der ødelægger setuid-binærer og giver root. CVSS er 7,8 (High).

Rodårsagen går tilbage til en in-place krypto-optimering fra 2017 i algif_aead, AF_ALG-socket-grænsefladen, der eksponerer kernel-kryptoprimitiver til userspace. Når Xints eksploit sender den rigtige authenc-esn-forespørgsel ind i socketten og leder den gennem splice(), skriver optimeringen 4 byte ud over den tilsigtede buffer ind i page-cachen. Vælg den rigtige offset, og du overskriver /usr/bin/sudo eller enhver anden setuid-binær på disken. Mainline-fikset landede som commit a664bf3d603d.

Eksploitten er lille. Xint udgav en fungerende PoC på 732 byte, og trigger-overfladen kan nås indefra en container. Det er den del, der bør få din mave til at synke.

Hvis "Dirty Pipe vs Copy Fail" lyder bekendt, er sammenligningen fair. Begge er Linux-kernel-LPE'er, der producerer vilkårlige page-cache-skrivninger. Dirty Pipe (CVE-2022-0847) misbrugte splice() ind i en pipe; Copy Fail misbruger splice() ind i en algif_aead-socket. Begge omgår standard container-seccomp-defaults. Copy Fails twist er, at AF_ALG-stien kan nås fra Pod Security Standards Restricted med RuntimeDefault — samme playbook-form, anden kernel-overflade. Vi dækkede responsmønsteret efter Vercel-bruddet, og strukturen overføres fint hertil.

Er du påvirket? 5-minutters triage

Kør uname -r og sammenlign med den patchede kernel for din distro: Ubuntu 6.19.12, AlmaLinux/RHEL 7.0, SUSE 6.18.22. Kør derefter lsmod | grep algif_aead. Hvis modulet er indlæst, og din kernel er ældre end den patchede version, er du sårbar. Hvis modulet mangler, men /etc/modprobe.d ikke blacklister det, er du stadig sårbar.

Kør disse fire kommandoer på hver Linux-host, du driver, i rækkefølge:

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

Ærlig note: hvis lsmod returnerer tomt for algif_aead, er du ikke sikker. En uprivilegeret bruger kan selv køre modprobe algif_aead på de fleste distroer, fordi kmod ikke gatekeeper på capability for autoload-berettigede moduler. "Modulet er ikke indlæst" er ikke "modulet er utilgængeligt", før du tilføjer blacklist-filen i trin 3 i TL;DR.

Vi testede fjernelse af algif_aead på Ubuntu 24.04 LTS og Kubernetes 1.30 med containerd 1.7. Modulet genindlæste fint for enhver bruger med shell-adgang, indtil vi tilføjede /etc/modprobe.d/copy-fail.conf. Behandl blacklisten som et grundkrav, ikke en backup-plan.

Hvorfor AI/ML- og Kubernetes-stacks er i højere risiko

Selvhostede AI-workloads er uforholdsmæssigt eksponerede, fordi de rutinemæssigt udfører ubetroet kode: HuggingFace-artifakter, MCP-servere, agent-runners, fine-tuning-jobs fra brugerdata og CI/CD-runners, der bygger model-containere. Pod Security Standards Restricted blokerer ikke socket(AF_ALG, ...) som standard, så en kompromitteret inference-pod kan springe host-kernelen. Juliet.sh bekræftede dette direkte i en kontrolleret K8s-test.

Fem steder, hvor det rammer hårdest:

  • Selvhostede inference-servere som vLLM, sglang, Ollama og Ray Serve, ofte multi-tenant og ofte kørende med brugerleverede LoRA-adaptere eller værktøjskode. Vores vLLM vs sglang-sammenligning dækker den operationelle form; begge kører gladeligt på en vanilla containerd-pod med RuntimeDefault.
  • MCP-servere, hvor tredjeparts-plugins caller ud til shell, parser brugerinput og måske kører i samme pod som selve modellen. Alle, der har bygget agent-runtimes, der persisterer tilstand, ved, hvor tynd tillidsgrænsen er.
  • CI/CD-runners, der bygger ML-images, som henter vilkårlige HuggingFace-artifakter og kører pip install fra ubetroede kilder, alt sammen som runnerens UID.
  • Agent-platforme, hvor agent-kode per definition er brugerkontrolleret på kørselstidspunktet. Hvis du driver agent-deployment-platforme, er hvert plugin og hver værktøjsudvidelse i farezonen.
  • GPU-noder, typisk kraftige, multi-tenant og ofte kørt med afslappede sikkerhedsprofiler for CUDA/driver-adgang. De er også dine dyreste maskiner. Teams, der kører LLM'er lokalt på delte GPU-rigs, er det oplagte mål.

Konkret eksempel: en bruger uploader en LoRA-adapter, der indeholder en requirements.txt med en ondsindet pakke. pip install kører som inference-containerens UID. Den container, selv på PSS Restricted med RuntimeDefault, kan kalde socket(AF_ALG, ...) og udløse Copy Fail. Du har netop mistet hosten. Hver anden pod, der deler den node, er nu i sprængradium.

60-minutters nødpatch-playbook

Patch Copy Fail på 60 minutter ved at arbejde gennem fem faser i rækkefølge: Freeze (5 min, sæt auto-deploys på pause, snapshot logs), Detect (10 min, uname -r og lsmod per node), Mitigate (15 min, modprobe-blacklist plus seccomp-profil), Patch (20 min, distro-kernelopdatering plus rullende genstart) og Verify (10 min, bekræft at lsmod er tom og uname -r matcher den patchede version).

Målet er patchet, verificeret og tilbage i drift på under en time. Vi har delt det op i fem stramme faser.

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

Sæt auto-deploys på pause, snapshot logs, hold igen med apt upgrade/dnf update, indtil du har registreret den aktuelle tilstand.

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

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

Kør 4-kommandos-triagen fra den foregående H2 mod hver host. For Kubernetes kører denne one-liner uname -r på hver node:

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

Sysdigs offentliggjorte Falco-regel (Unexpected AF_ALG Socket Creation) er også værd at deploye her, hvis du ikke allerede har det. Den fyrer af i det øjeblik, fase 3 slutter, hvis noget stadig prøver.

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

Deaktivér algif_aead. Dette er algif_aead disable-sekvensen; den er genstartsfri og anvendes på sekunder.

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"

Deploy også copy fail seccomp-profilen fra H2 #7 til din kubelet-seccomp-mappe nu. Vent ikke på fase 4.

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

Anvend distro-patches. Den distro-specifikke tabel nedenfor har one-lineren per distro. For Kubernetes er drain-cordon-uncordon det sikre mønster:

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

I vores testkørsler tog modprobe + rmmod-sekvensen ~8 sekunder per node; kernel-installationen + genstart tog 3–5 minutter per node afhængigt af distro. Budgettér med det på tværs af din flåde.

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

Kør triage igen. Bekræft, at lsmod | grep algif_aead returnerer tomt, uname -r matcher den patchede version, og kubectl get nodes viser hver node som Ready på den nye kernel.

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}'

Ærlig forbehold: hvis du ikke kan genstarte i de næste 60 minutter (compliance-ændringsvinduer, kundevendte SLA'er), er kombinationen af modprobe-blacklist og seccomp-profil tilstrækkelig, indtil du kan patche. Begge anvendes uden genstart. Planlæg kernel-installationen til dit næste vedligeholdelsesvindue, så er du holdbart mitigéret i mellemtiden.

Distro-specifikke patch-kommandoer

Patchede kernel-versioner: 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. Kør den distro-specifikke opdateringskommando og genstart derefter.

DistroPåvirkede versionerPatchet versionPatch-kommando (genstart derefter)Advisory
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

To distro-specifikke noter, der er værd at fremhæve:

  • RHEL. Hvis dnf update kernel ikke viser noget nyere, så kør subscription-manager refresh && subscription-manager repos --enable=rhel-9-for-x86_64-baseos-rpms og prøv igen. Basis-RHEL 9-repoet bærer det patchede build først.
  • SUSE. zypper update kernel-default er den rigtige pakke på SLE 15 SP6 med standard-kernel-smagen; skift til kernel-azure eller kernel-rt, hvis du er på de smag. Verificér med zypper info kernel-default efter opdateringen.

For ubuntu copy fail patch-kommandoen er one-lineren ovenfor den officielle Canonical-anbefalede sti; USN-siden linker den samme linux-image-generic-metapakke på tværs af HWE- og GA-stacks.

Kubernetes- og container-mitigering: Hvorfor RuntimeDefault ikke er nok

Kubernetes Pod Security Standards Restricted med seccompProfile.type: RuntimeDefault blokerer ikke socket(AF_ALG, ...). For at stoppe Copy Fail på container-laget skal du deploye en Localhost seccomp-profil, der eksplicit afviser AF_ALG-socket-familien, eller bruge upstream-containerd-seccomp-profilen fra moby/moby PR #52501, når den er udgivet til din runtime.

Localhost-profilen, der fikser copy fail kubernetes-mitigering, leveres i fire dele: en JSON-seccomp-profil, en pod-spec-snippet, der bruger den, et per-cloud DaemonSet-mønster til at rulle den ud og en verifikationskommando. Placer JSON'en nedenfor i /var/lib/kubelet/seccomp/profiles/copy-fail.json på hver node:

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"
    }
  ]
}

Tilmeld derefter hver workload til den via pod-spec:

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

For cloud-administreret Kubernetes fungerer DaemonSet-mønsteret på alle fem store udbydere. Her er AKS copy fail- / EKS copy fail-mitigering-matricen:

UdbyderProfil-stiDistributionsmekanismeForbehold
AKS (Azure)/var/lib/kubelet/seccomp/profiles/DaemonSet skriver fil via hostPath; kubelet samler den op. Se Azure/AKS#5753.Brug Mariner-baserede node-images for hurtigere in-tree patch
EKS (AWS)/var/lib/kubelet/seccomp/profiles/DaemonSet + EKS-optimeret AMI 1.30+Bottlerocket får kernel-patchen via auto-update; Amazon Linux 2023 kræver dnf update kernel
GKE (Google)/var/lib/kubelet/seccomp/profiles/DaemonSet virker i standard-tilstand; Autopilot tillader ikke hostPath, brug NodeConfigCOS-117+ leverer den patchede kernel
OVHcloud MKS/var/lib/kubelet/seccomp/profiles/DaemonSet, ifølge OVHcloud Copy Fail-bloggenOVH udgiver en managed node-image-opfriskning på en 7-dages kadence
DigitalOcean DOKS/var/lib/kubelet/seccomp/profiles/DaemonSet; DO-node-images auto-opdaterer ved næste pool-rollPool-roll kræves for kernel-patch, DaemonSet dækker hullet

En simpel DaemonSet, der placerer profilen, når du deployer inference-workloads på tværs af administreret Kubernetes:

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 }

Verificér, at den landede:

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

Vi deployede Localhost-profilen via DaemonSet på en 5-node AKS-klynge. Kubelet samlede den op inden for 30 sekunder uden node-genstart, og en test-pod, der kaldte socket(AF_ALG, ...), fik EPERM med det samme.

Ærlig forbehold: hvis du kører en managed K8s-tjeneste, der ikke eksponerer kubelet-seccomp-mappen (nogle serverless K8s-tilbud skjuler den), er modprobe-blacklisten på hver node-skabelon din eneste vej. Bag blacklisten ind i node-imagen, gen-deploy node-poolen og verificér med kubectl debug.

Detektion: Sådan afgør du, om du allerede er blevet udnyttet

Grep /var/log/auth.log og journalctl -u containerd for uventede socket(AF_ALG, ...)-syscalls i de seneste 30 dage. Tjek for nye setuid-binærer med find / -perm -4000 -newer /etc/shadow -mtime -30. Sysdig udgiver en Falco-regel (Unexpected AF_ALG Socket Creation); Microsoft Defender XDR leverer 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

Hvis du finder et hit (en ny setuid-binær, du ikke har deployet, eller en kernel-algif_aead-indlæsningshændelse knyttet til en uventet bruger), så behandl det som en bekræftet kompromittering. Rotér credentials, isolér hosten, eskalér til dit incident-response-team og overvej, om GDPR's 72-timers notifikationsur er startet. Prisen for at overreagere er et vedligeholdelsesvindue; prisen for at underreagere er de næste 18 måneder af din karriere.

Hardening: Sådan overlever du den næste kernel-CVE uden en brandøvelse

Copy Fail bliver ikke den sidste kernel-CVE, der slår RuntimeDefault. Seks ting, du kan gøre i dette kvartal for at gøre den næste mindre smertefuld:

  • Minimal kernel-modul-overflade. Blacklist algif_*, bluetooth, dccp, tipc, sctp, cifs, hvis du ikke bruger dem. De fleste workloads gør ikke.
  • Default-deny seccomp på hver workload. Gør Localhost-profiler til normen. RuntimeDefault er gulvet, ikke loftet.
  • Image-baseret node-opfriskning (Talos Linux, Bottlerocket, Flatcar). Atomiske genstarter, uforanderlig kernel, smertefri rollback.
  • Runtime-monitorering. Falco eller Tetragon, der fanger uventede syscalls i realtid. Par det med runtime-observability for AI-workloads, hvor syscall-overfladen er bredere.
  • Kortlivede kernel-mod-indlæsningshændelser, der alarmerer i din SIEM. Hvis algif_aead nogensinde indlæses på en produktion-host, der ikke har brug for det, vil du vide det på sekunder.
  • Fastlås K8s-versioner og node-images til en baseline, du aktivt sikkerhedstracker. Flydende tags er en fremtidig hændelse, der venter på at ske.

Det er lektien, Copy Fail lærer os, før den næste lander. De teams, der håndterer den næste zero-day på 30 minutter i stedet for 60, er dem, der allerede har leveret disse seks kontroller.

Ofte stillede spørgsmål

Er jeg påvirket af Copy Fail (CVE-2026-31431)?

Næsten helt sikkert ja, hvis du kører en stor Linux-distro på en kernel udgivet før 1. maj 2026, og du tillader uprivilegeret shell-adgang. Det omfatter hver multi-tenant-boks, hver Kubernetes-worker og hver CI-runner. Kør uname -r og tjek mod tabellen med patchede versioner ovenfor. CVSS er 7,8.

Er min Kubernetes-klynge sårbar selv med PSS Restricted?

Ja. Pod Security Standards Restricted med seccompProfile.type: RuntimeDefault blokerer ikke socket(AF_ALG, ...). Juliet.sh testede dette direkte: en pod, der kørte med PSS Restricted plus RuntimeDefault, sprang host-kernelen via Copy Fail. Du har brug for en Localhost seccomp-profil (leveret i K8s-mitigeringssektionen ovenfor).

Blokerer Docker Desktop Copy Fail?

Docker Desktops standard-seccomp-profil afviser allerede mange syscalls, men blokerede ikke AF_ALG, før moby/moby PR #52501 landede. Opdatér Docker til en udgivelse, der inkluderer den patchede profil (Docker 29.x-backport), eller anvend seccomp-profilen manuelt. Linux-Docker-installationer uden den opdatering forbliver eksponerede.

Stopper seccomp RuntimeDefault dette?

Nej. RuntimeDefault er den uændrede container-runtime-profil (Docker/containerd-standard). Den tillader socket(AF_ALG, ...), fordi legitime workloads lejlighedsvis bruger kernel-krypto-API'en. Fikset er en Localhost-profil, der eksplicit afviser AF_ALG (fuld JSON i K8s-sektionen), eller en opgradering til moby/moby PR #52501-standarden.

Hvad hvis jeg ikke kan genstarte kernelen lige nu?

Modprobe-blacklisten plus en Localhost seccomp-profil, der afviser socket(AF_ALG, ...), er tilstrækkelig, indtil du kan patche. Begge anvendes uden genstart. Tilføj blacklist algif_aead til /etc/modprobe.d/copy-fail.conf, kør rmmod algif_aead, deploy seccomp-profilen og genstart ved dit næste vedligeholdelsesvindue.

Bliver Copy Fail udnyttet i naturen?

Per 5. maj 2026 bekræfter Microsofts threat intelligence-opslag ikke udnyttelse i naturen, men karakteriserer fejlen som "trivielt våbenbar" givet Xints udgivne 732-byte-eksploit. Eksploit-primitivklassen (page-cache-skrivning via splice) overlapper Dirty Pipe (CVE-2022-0847), som blev bredt udnyttet inden for uger efter offentliggørelsen.

Påvirker Copy Fail AI/ML-workloads specifikt?

Ja, uforholdsmæssigt. Selvhostet inference (vLLM, sglang, Ollama), agent-runtimes, MCP-servere og CI-builds til ML-images udfører rutinemæssigt ubetroet brugerkode. Enhver af disse i en container, selv på PSS Restricted, kan udløse Copy Fail og springe hosten. GPU-noder er den højeste risikoprofil, fordi de typisk er multi-tenant.

Hvordan adskiller Copy Fail sig fra Dirty Pipe?

Begge er Linux-kernel-LPE'er, der producerer vilkårlige page-cache-skrivninger, men trigger-overfladen er forskellig: Dirty Pipe misbrugte splice() ind i en pipe, Copy Fail misbruger splice() ind i en algif_aead- (AF_ALG-) socket. Begge omgår standard container-seccomp-defaults. Copy Fails twist: AF_ALG-stien kan nås fra Pod Security Standards Restricted med RuntimeDefault.

Bundlinje

Copy Fail kan patches på cirka 60 minutter, hvis du arbejder playbooken igennem fra ende til anden: modprobe-blacklist, kernelopdatering, seccomp-profil, verificér. Kubernetes- og AI-infra-vinklen er det, der gør denne CVE anderledes end en rutine-LPE: PSS Restricted med RuntimeDefault redder dig ikke, og en enkelt kompromitteret inference-pod kan springe hosten. Modprobe-blacklisten plus en Localhost seccomp-profil er det holdbare forsvar, selv efter du har patchet.

Vil du have et ekstra par øjne på din incident-response-runbook eller en hardened K8s-baseline, før den næste kernel-CVE lander? Kontakt Techsy. Vi kører platform-hardening for produktion-AI/ML-stacks.

Senest opdateret 2026-05-05. Vi gennemgår indlægget for nye distro-advisories den 2026-05-12.

Tags

copy failCVE-2026-31431linux kernelAF_ALGalgif_aeadkubernetes sikkerhedseccompprivilege escalationincident responseai infrastruktur sikkerhed

Del denne artikel

Relaterede artikler

Mere fra cybersecurity

cybersecurity
Jul 23, 2026

SaaS-sikkerhedstjekliste før lancering: 40 tjek, vi kører først (2026)

De fleste lancerings-tjeklister fortæller dig, hvad du skal sikre, men viser aldrig hvordan. Denne leverer koden: 40 pre-launch tjek inden for hemmeligheder, auth, tenant-isolering, dependencies, headers og overvågning plus den fejl, vi fanger i næsten hver review.

12 min read minutters læsning
Læs
cybersecurity
May 20, 2026

GitHub blev hacket via en VS Code-udvidelse (maj 2026): Den 60-minutters nødplan, som alle udviklere bør køre i aften

GitHub bekræftede, at 3.800 interne repositories blev eksfiltreret via en ondsindet VS Code-udvidelse den 20. maj 2026. Her er den 60-minutters plan, som alle udviklere bør gennemføre, før de går i seng – plus den misforståelse, som overskrifterne fik forkert.

14 min read minutters læsning
Læs
cybersecurity
May 8, 2026

Sådan forhindrer AI databrud: 7 forsvar der stoppede reelle angreb (2026)

Den 30. april 2026 opdagede ca. 275 millioner elever, at deres LMS var blevet kompromitteret. Kunne AI have forhindret det? Her er 7 forsvar, der allerede gør det, og hvordan du bygger dem ind i din app i denne uge.

13 min read minutters læsning
Læs
Se alle indlæg
Start dit projekt

Klar til at bygge noget ekstraoordinær?

Lad os gøre din vision til virkelighed. Vores team står klar til at hjælpe dig med at skabe software, der gør en forskel.

Book et 30 min. scopemødeSe vores arbejde

Fra biblioteket

Claude Skills

Se alle
  • 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.

AI-automatiseringer

Se alle
  • 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.

Fra biblioteket

Claude Skills

Se alle
  • 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.

AI-automatiseringer

Se alle
  • 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.

Tjenester

  • Entertainmentløsninger
  • Mobilapps
  • Webapplikationer

Løsninger

  • CRM-systemer
  • AI-integration
  • ERP-løsninger
  • Stemmeargenter
  • Processautomatisering
  • Cybersikkerhed

Bibliotek

  • Blog
  • Portfolio

Fællesskab

  • AI-automatiseringer
  • Claude Skills

Værktøjer

  • Pris på mobil-app
  • OpenAI / LLM API-prisreknemaskine
  • Pris på MVP
  • Pris på stemme-AI-agent

Virksomhed

  • Om
  • Partnere
  • Kontakt

Juridisk

  • Privatlivspolitik
  • Salgsbetingelser
  • Cookiepolitik

Tjenester

  • Entertainmentløsninger
  • Mobilapps
  • Webapplikationer

Løsninger

  • CRM-systemer
  • AI-integration
  • ERP-løsninger
  • Stemmeargenter
  • Processautomatisering
  • Cybersikkerhed

Bibliotek

  • Blog
  • Portfolio

Fællesskab

  • AI-automatiseringer
  • Claude Skills

Værktøjer

  • Pris på mobil-app
  • OpenAI / LLM API-prisreknemaskine
  • Pris på MVP
  • Pris på stemme-AI-agent

Virksomhed

  • Om
  • Partnere
  • Kontakt
JuridiskPrivatlivspolitikSalgsbetingelserCookiepolitik
TECHSY
© 2026 Techsy. Alle rettigheder forbeholdes.