
Schnelle, überprüfbare Linux-Absicherung für den CVE-2026-31431 Copy Fail: algif_aead-Block, Verifikation und AF_ALG-Seccomp-Härtung.
______ ______ _ __ ______ __
/ ____/___ ____ __ _/ ____/___ _(_) / / ____/_ ______ __________/ /
/ / / __ \/ __ \/ / / / /_ / __ `/ / / / / __/ / / / __ `/ ___/ __ /
/ /___/ /_/ / /_/ / /_/ / / __/ / /_/ / / / / /_/ / /_/ / /_/ / / / /_/ /
\____/\____/ .___/\__, /_/ \__,_/_/_/ \____/\__,_/\__,_/_/ \__,_/
/_/ /____/
Schnelle, prüfbare Linux-Expositionsbewertung und -Minderung für CVE-2026-31431 „Copy Fail“, während Kernel gepatcht werden.
CopyFail Guard ist ein defensives Betriebswerkzeug für Linux-Sysadmins, DevSecOps-Ingenieure, Plattformteams und Incident-Responder. Es hilft, die Exposition gegenüber dem Linux-algif_aead/AF_ALG-Problem zu reduzieren, indem es:
algif_aead verfügbar, geladen, eingebaut oder bereits blockiert istmodprobe.d-Block installiert und das Modul entlädt, wenn dies sicher möglich istEndgültige Behebung: Installieren Sie den gepatchten Kernel Ihres Anbieters und starten Sie neu.
Dieses Werkzeug überbrückt die betriebliche Lücke zwischen Offenlegung und vollständiger Flotten-Patchung.
splice, Setuid-Änderungen, Privilegieneskalation oder destruktive Sonden./etc/modprobe.d/99-copyfail-guard.conf, und der Rollback entfernt nur diese Datei.seccomp-patch fügt eine AF_ALG-Ablehnung zu einem bestehenden Docker/Podman/Kubernetes-Seccomp-Profil hinzu, anstatt Ihre Laufzeit-Härtung zu ersetzen.assess --json und dokumentierte Exit-Codes unterstützen Flotten-Scans, SIEM-Erfassung und Change-Management-Nachweise.Wenn Sie auf einem Linux-Host sind und eine schnelle Antwort benötigen:
git clone --depth 1 https://github.com/juliosuas/copyfail-guard.git
cd copyfail-guard
sudo ./bin/copyfail-guard.sh doctor
sudo ./bin/copyfail-guard.sh assess
Wenn das Urteil „exponiert“ lautet und algif_aead modular ist:
sudo ./bin/copyfail-guard.sh mitigate --yes
sudo ./bin/copyfail-guard.sh verify
Für wiederholbare Installationen ein Release-Tag fixieren:
git clone --branch v0.3.0 --depth 1 https://github.com/juliosuas/copyfail-guard.git
Ersetzen Sie v0.3.0 durch das neueste getaggte Release, wenn neuere Versionen verfügbar sind.
Führen Sie zuerst die sichere Expositionsprüfung durch:
sudo ./bin/copyfail-guard.sh assess
So lesen Sie das Ergebnis:
| Urteilsfamilie | Bedeutung | Maßnahme |
|---|---|---|
EXPOSED_* | algif_aead / AF_ALG scheint erreichbar oder ladbar | Jetzt mindern, dann patchen und neu starten |
PARTIALLY_MITIGATED_* | Ein Block existiert, aber das geladene Modul oder der Neustart-Status ist noch relevant | Neu starten oder sicher entladen, dann überprüfen |
INTERIM_MITIGATED_* | Lokale Minderung ist aktiv | Beibehalten, aber trotzdem patchen und neu starten |
LOW_OBVIOUS_EXPOSURE_* | Lokale Prüfungen fanden keine offensichtliche algif_aead-Exposition | Trotzdem den Patch-Status des Anbieters bestätigen |
Wenn Sie nicht vertrauenswürdige Container, CI-Jobs, Sandboxes oder Multi-User-Workloads betreiben, testen Sie auch, ob die AF_ALG-Socket-Erstellung in dieser Laufzeit blockiert ist:
python3 tools/afalg-socket-test.py
PERMITTED beweist keine erfolgreiche Ausnutzung, aber es beweist, dass die relevante Userspace-Crypto-API erreichbar ist. Für defensive Operationen ist das Grund genug, die Minderung anzuwenden, während Sie die Rollout des gepatchten Kernels bestätigen.
Es ist kein destruktiver Proof-of-Concept enthalten. Das ist ein Feature, kein Manko.
Ein echter Copy-Fail-Exploit-Nachweis müsste Kernel-Speicher/Page-Cache-Auswirkungen oder Privilegieneskalation validieren. Die Auslieferung in einem öffentlichen Minderungs-Repo würde das Projekt weniger sicher und weniger einsetzbar in der Produktion machen.
CopyFail Guard beweist die Dinge, auf die Betreiber sicher reagieren können:
Kombinieren Sie für den endgültigen Verwundbarkeitsstatus dieses Werkzeug mit der Anbieterberatung/Paketbestandsliste und Neustart-Nachweisen.
CopyFail Guard ist Minderung, nicht Heilung. Es reduziert die Exposition und überprüft interimistische Kontrollen. Die dauerhafte Lösung bleibt der gepatchte Kernel des Anbieters plus Neustart.
Das Werkzeug ist bewusst als Clone-and-Run für Incident Response ausgelegt: Kein Compiler, Kernel-Header, Exploit-Code oder Drittanbieter-Paketmanager ist für den Kern-Host-Workflow erforderlich. python3 wird für --json-Ausgabe, seccomp-patch und den nicht-exploitiven AF_ALG-Socket-Test benötigt.
Clone-and-Run:
git clone https://github.com/juliosuas/copyfail-guard.git
cd copyfail-guard
chmod +x bin/copyfail-guard.sh
sudo ./bin/copyfail-guard.sh doctor
sudo ./bin/copyfail-guard.sh assess
sudo ./bin/copyfail-guard.sh mitigate --yes
sudo ./bin/copyfail-guard.sh verify
Optionale Systeminstallation:
git clone https://github.com/juliosuas/copyfail-guard.git
cd copyfail-guard
sudo ./scripts/install.sh
sudo copyfail-guard status
Der Installer unterstützt das Fixieren von Quelle und Ziel für kontrollierte Rollouts:
sudo env COPYFAIL_GUARD_REF=v0.3.0 ./scripts/install.sh
Verwenden Sie das neueste getaggte Release für COPYFAIL_GUARD_REF, wenn neuere Versionen verfügbar sind.
Container-/CI-Härtung:
./bin/copyfail-guard.sh seccomp-patch docker-default.json copyfail-seccomp.json
docker run --security-opt seccomp=./copyfail-seccomp.json IMAGE
Validieren Sie, dass AF_ALG in einem geschützten Container blockiert ist:
docker run --rm \
--security-opt seccomp=./copyfail-seccomp.json \
-v "$PWD/tools:/tools:ro" \
python:3.12-alpine \
python /tools/afalg-socket-test.py
Erwartetes geschütztes Ergebnis:
BLOCKED: socket(AF_ALG) denied by policy (...)
Siehe Beispielausgaben für erwartete Urteile, JSON-Form und Container-Validierungsergebnisse.
Copy Fail ist eine lokale Privilegieneskalation im Linux-Kernel in der Komponente algif_aead der AF_ALG-Userspace-Crypto-API. Öffentliche Advisories beschreiben eine Page-Cache-Schreibprimitive, die von unprivilegierten lokalen Benutzern erreichbar ist und besonders gefährlich auf Systemen mit gemeinsam genutztem Kernel ist: Kubernetes-Knoten, CI/CD-Runner, Multi-Tenant-Hosts, Agent-Sandboxes und Entwicklerrechner.