
# Ansible-Rolle, die die modprobe.d-Mitigation für CVE-2026-31431 anwendet und verifiziert, indem sie das Kernel-Modul algif_aead deaktiviert, mit Sicherheitsprüfungen für Debian-basierte Systeme.
Ansible-Rolle zum Anwenden (und später Entfernen) der modprobe.d-Mitigation für
CVE-2026-31431 („Copy Fail") im AF_ALG / algif_aead-Subsystem des Linux-Kernels.
Getestet auf Debian. Pull Requests für andere Distributionen, Randfälle oder Verbesserungen sind sehr willkommen.
Die Rolle legt einen Konfigurationsausschnitt in /etc/modprobe.d/ ab, der verhindert,
dass das Kernelmodul algif_aead geladen wird:
install algif_aead /bin/false
Anschließend verifiziert sie, dass die Mitigation tatsächlich wirksam ist, indem sie:
/boot/config-$(uname -r) liest und die Ausführung verweigert, wenn AEAD in den
Kernel eingebaut ist (CONFIG_CRYPTO_USER_API_AEAD=y) – modprobe.d kann eingebauten Code nicht blockieren.algif_aead aktuell nicht in lsmod aufgeführt ist.AF_ALG-Socket öffnet und versucht,
sich an aead/gcm(aes) zu bind(). Nach der Mitigation muss der Bind mit
FileNotFoundError fehlschlagen.Kein Neustart ist erforderlich.
Zum Zurücksetzen (z. B. sobald ein gepatchter Kernel vorhanden ist), setzen Sie
cve_2026_31431_state=absent.
Die auf oss-security kursierende Mitigation – Ablegen von
install algif_aead /bin/false in /etc/modprobe.d/ und rmmod des
Moduls – funktioniert nicht auf CloudLinux, AlmaLinux, RHEL oder anderen
RHEL-Familien-Distributionen und funktioniert nicht auf benutzerdefinierten Kerneln, die mit
eingebautem AEAD kompiliert wurden.
Auf diesen Systemen ist algif_aead in den Kernel eingebaut
(CONFIG_CRYPTO_USER_API_AEAD=y), daher:
modprobe.d-Regeln können das Laden nicht blockieren (es gibt nichts zu laden – der
Code ist bereits im Kernel-Image).rmmod algif_aead kann eingebauten Code nicht entfernen.Die Befehle scheinen erfolgreich zu sein, lassen das System jedoch unverändert, was ein falsches Gefühl von Schutz vermittelt. Sie können bestätigen, ob Ihr Kernel betroffen ist:
zgrep '^CONFIG_CRYPTO_USER_API_AEAD=' /boot/config-$(uname -r)
=m → Modul, diese Rolle kann mitigieren.=y → eingebaut, Sie benötigen ein Kernel-Update + Neustart oder ein Livepatch-
Abonnement. Diese Rolle erkennt dies und verweigert die Ausführung.| Name | Standard | Hinweise |
|---|---|---|
cve_2026_31431_state | present | Auf absent setzen, um Mitigation zu entfernen |
cve_2026_31431_conf | /etc/modprobe.d/disable-algif_aead.conf | Pfad zur Blacklist-Datei |
ansible-galaxy install joltcan.cve_2026_31431
ansible-playbook -i <your-inventory> ~/.ansible/roles/joltcan.cve_2026_31431/playbook.yml
Bereinigung, sobald der gepatchte Kernel läuft:
ansible-playbook -i <your-inventory> ~/.ansible/roles/joltcan.cve_2026_31431/playbook.yml -e cve_2026_31431_state=absent
- hosts: all
become: true
roles:
- role: joltcan.cve_2026_31431
Issues und Pull Requests sind willkommen – insbesondere:
algif_aead ladbar
ist (Arch, Gentoo, Alpine usw.).algif_aead, wenn keine AF_ALG-
Benutzer aktiv sind.MIT – siehe LICENSE.