Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
copy-fail-cve-2026-31431 — Passiver Linux-Host-Scanner, der die Exposition gegenüber CVE-2026-31431 über Kernel-Version, Distro-Changelog, Modulstatus und AF_ALG-Erreichbarkeit klassifiziert, mit JSON-Ausgabe für die SIEM-Integration. | Kitploit
Tools/GitHubGitHub/effiesec/copy-fail-cve-2026-31431
SchwachstellenscannerSchwachstellenanalyseKonfigurationsprüfung
GitHubeffiesec/copy-fail-cve-2026-31431

copy-fail-cve-2026-31431

Passiver Linux-Host-Scanner, der die Exposition gegenüber CVE-2026-31431 über Kernel-Version, Distro-Changelog, Modulstatus und AF_ALG-Erreichbarkeit klassifiziert, mit JSON-Ausgabe für die SIEM-Integration.

Repository anzeigen
vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-Checker für Copy Fail (CVE-2026-31431)

Autoren/Mitwirkende: Patrick Doyle (Autor/Maintainer), Effie Renard (Co-Autorin), Kimberly-Lee Banks (Co-Autorin), Chris F. (Support/Code-Review)

KI-Offenlegung: Claude Code wurde zum Schreiben von Testdateien, zum Erstellen von Testdaten und für eine Code-Sicherheitsüberprüfung verwendet. Alle Änderungen wurden manuell von einem der Mitwirkenden geprüft.

Beschreibung

Ein einzelnes statisch gelinktes Go-Binary, das die Exposition eines Linux-Hosts gegenüber CVE-2026-31431 klassifiziert.

Das Tool ist passiv. Es nutzt den Bug nicht aus. Der Mechanismus-Probe (siehe Sicherheitserklärung unten) führt genau zwei Syscalls aus und berührt niemals den verwundbaren Codepfad.


Was es prüft

SignalQuelleFlag
Kernel-Version vs. Upstream-Fixuname(2)--kernel-version
Distro-Changelog erwähnt die CVEapt/rpm/apk oder changelog.Debian.gz auf der Platte--changelog
Status des algif_aead-Moduls/proc/modules, modprobe.d, /lib/modules--module
Verwundbare Oberfläche erreichbarsocket(AF_ALG) + bind(authencesn(...))--mechanism
In vmlinux einkompiliert/boot/config-$(uname -r) oder /proc/config.gz(Teil von --module)

Wenn keine Check-Flags angegeben sind, laufen alle vier.


Ausgabemodi

ModusAuslöserAnwendungsfall
Hübsch formatiert (Standard)TTY-Stdout, kein --format-Override, keine NO_COLOR-UmgebungsvariableInteraktive Shell-Ausführungen
KlartextNicht-TTY-Stdout, ODER --format=text, ODER NO_COLOR=1, ODER --no-colorShell-Skripte, Pipes
JSON--format=jsonSyslog/SIEM-Erfassung, Shell-Skripte
Quiet--quietNur Exit-Code (Automatisierung/Skripte)

Hübsche Ausgabe bei Pipe erzwingen: cvecheck --pretty | tee report.txt. Klartext in einer TTY erzwingen: cvecheck --no-color oder NO_COLOR=1 cvecheck.


Sicherheitserklärung (Mechanismus-Probe)

Der Probe führt genau zwei Syscalls aus: socket(AF_ALG, SOCK_SEQPACKET, 0) und bind(fd, &SockaddrALG{Type:"aead", Name:"authencesn(hmac(sha256), cbc(aes))"}). Danach folgt close(fd). Es werden keine setsockopt für einen Schlüssel, kein accept, kein sendmsg, kein splice und keine Pipe-Erstellung durchgeführt. Der verwundbare Codepfad erfordert sendmsg von Krypto-Daten in Kombination mit einem splice von einem page-cache-gestützten Dateideskriptor; keine dieser Operationen findet statt, daher kann der Bug nicht ausgelöst werden.

Ein erfolgreicher Probe bedeutet, dass die Oberfläche erreichbar ist. Ob der Kernel den Bug noch enthält, wird durch die Kernel-Versions- und Changelog-Signale entschieden.

Nebeneffekt: Ein erfolgreiches bind lädt algif_aead automatisch über den Kernel-Modul-Autoloader nach. Der Modul-Check läuft vor dem Mechanismus-Probe, sodass der Ladezustandsbericht vor dem Probe erstellt wird. Um das Autoloaden vollständig zu unterdrücken, muss algif_aead zuerst auf die Blacklist gesetzt werden.


Exit-Codes

CodeBedeutung
0PATCHED / NOT_VULNERABLE / MITIGATED / LIKELY_NOT_EXPLOITABLE
2VULNERABLE oder MECHANISM_REACHABLE (partieller Scan, Kernel-Version nicht geprüft)
3INCONCLUSIVE (unzureichende Signale)

Distro-Abdeckung

DistroErkennungKernel-PaketHinweise
Ubuntu / Debian / Mint / Pop!_OSaptlinux-image-$(uname -r)Plattenbasierte Changelog-Lesung vermeidet Netzwerk-Fragilität von apt changelog bei signierten Kerneln
RHEL / CentOS / Rocky / Alma / Fedora / Amazon LinuxrpmkernelLiefert algif_aead eingebaut (CONFIG_..._AEAD=y); Blacklist-Mitigation nicht wirksam
Oracle Linuxrpmkernel oder kernel-uekUEK wird über den Teilstring uek in uname -r erkannt
openSUSE / SLESrpmkernel-default
Alpineapklinux-lts / linux-virt / usw.Variante wird aus dem Release-Suffix gewählt
Arch / CachyOS / Manjaro / Endeavour / Gentookeinen/vRolling/Source: verlässt sich auf den Kernel-Versions-Check

Bereitstellung

Automatische Installation

Erkennt automatisch Ihre Architektur, lädt das richtige Binary in $(pwd) herunter und verifiziert dessen SHA-256 gegen die veröffentlichten SHA256SUMS:

root@kitploit:~
curl -fsSL https://copyfail.pcdoyle.dev/install.sh | sh

Das Skript beendet sich mit einem Nicht-Null-Exit-Code bei Prüfsummenabweichung und entfernt die fehlerhafte Datei.

Binary herunterladen (manuell)

Wählen Sie das Binary für Ihre Host-Architektur:

ArchitekturBinary
Intel/AMD 64-Bit (x86_64)cvecheck-linux-x86_64
ARM 64-Bit (aarch64)cvecheck-linux-arm64
Intel/AMD 32-Bit (i?86)cvecheck-linux-x86

Vor der Ausführung verifizieren:

root@kitploit:~
curl -LO https://github.com/pcdoyle/copy-fail-cve-2026-31431/releases/latest/download/cvecheck-linux-x86_64
curl -LO https://github.com/pcdoyle/copy-fail-cve-2026-31431/releases/latest/download/SHA256SUMS
sha256sum --ignore-missing -c SHA256SUMS
chmod +x cvecheck-linux-x86_64

Aus dem Quellcode bauen

root@kitploit:~
make build  # bin/cvecheck-linux-{x86_64,arm64,x86}
# SCP(SFTP) zum Server:
scp ./bin/cvecheck-linux-x86_64 host:/tmp/  # Weniger als 4 MB, statisch, keine glibc-Abhängigkeit

Programm ausführen

SSH zum Host

root@kitploit:~
# SSH:
ssh <host>
# Binary ausführen:
/tmp/cvecheck-linux-x86_64  # Menschlich lesbare, hübsche Ausgabe.
/tmp/cvecheck-linux-x86_64 --format=json # Für Skripte, Syslog und SIEM geeignet
/tmp/cvecheck-linux-x86_64 --format=text # Für Skripte und Pipes geeignet

Als SSH-Remote-Befehl ausführen

root@kitploit:~
ssh <host> /tmp/cvecheck-linux-x86_64   # Bei direkter Ausführung Standard: --format=text
ssh <host> /tmp/cvecheck-linux-x86_64 --format=json # Für Syslog/SIEM geeignet

Für Container/Chroot:

Hängen Sie das Host-Rootverzeichnis lesbar ein und übergeben Sie --root:

root@kitploit:~
docker run --rm -v /:/host:ro alpine /tmp/cvecheck --root /<host-path>

--root steuert alle plattenbasierten Abfragen (/etc/os-release, modprobe.d, /lib/modules, /boot/config-*, Changelog-Dateien). Die Kernel-Versions- und Mechanismus-Probes berühren weiterhin den laufenden Kernel über uname(2) und socket(AF_ALG, ...).


Präzedenzleiter

Wird in dieser Reihenfolge aufgelöst (erster Treffer gewinnt):

  1. PATCHED: Distro-Changelog verweist auf die CVE-ID.
  2. NOT_VULNERABLE: Laufender Kernel >= Upstream-Fixversion.
  3. MITIGATED: algif_aead auf der Blacklist und nicht geladen und nicht in vmlinux eingebaut.
  4. LIKELY_NOT_EXPLOITABLE: AF_ALG nicht verfügbar und Modul nicht auf der Platte.
  5. MECHANISM_REACHABLE: Oberfläche erreichbar, aber Kernel-Version nicht geprüft.
  6. VULNERABLE: Kernel im verwundbaren Bereich und Mechanismus erreichbar.
  7. INCONCLUSIVE: Keiner der obigen Punkte trifft zu.

Wenn --mechanism zusammen mit --kernel-version läuft und beide Signale auf ein Problem hinweisen, ist das Ergebnis VULNERABLE mit einem Sanierungshinweis.


Sanierungshinweise

  • Distros mit ladbaren Modulen (Debian, Ubuntu, SUSE, Alpine, Arch): algif_aead auf die Blacklist setzen, bis das Kernel-Update eintrifft.
    root@kitploit:~
    echo 'blacklist algif_aead' | sudo tee /etc/modprobe.d/cve-2026-31431.conf
    sudo rmmod algif_aead 2>/dev/null
    
  • Distros mit eingebauten Modulen (RHEL, CentOS, Rocky, Alma, Oracle, Amazon): Blacklist-Dateien sind wirkungslos, da CONFIG_CRYPTO_USER_API_AEAD=y das Symbol in vmlinux platziert. Nur ein Kernel-Update (oder ein kpatch-artiger Live-Patch) behebt die Exposition. Das Tool erkennt dies.

Fehlerbehebung

SymptomUrsacheLösung
changelog: error="apt: exit status 100 ... Changelog unavailable for linux-signed-amd64"Debian/Ubuntu signierter Kernel; apt-Mirror stellt das Changelog des Quellpakets nicht bereitFehler erscheint nur, wenn die Datei auf der Platte zusätzlich zum unzugänglichen Mirror fehlt; apt-doc installieren oder auf den Mirror warten.
module: ... config_src=""Keine Kernel-Konfiguration lesbar (kein /boot/config-*, kein /proc/config.gz, /boot nur für Root)Als Root ausführen oder akzeptieren, dass BuiltIn nicht bestimmt werden kann. Das Urteil kann trotzdem über andere Signale erfolgen.
mechanism: error="EAFNOSUPPORT"Kernel ohne CONFIG_CRYPTO_USER_API gebaut, daher ist der Host über AF_ALG nicht verwundbarUrteil wird LIKELY_NOT_EXPLOITABLE sein.

Quellen

  • NIST CVE-Datenbank
  • Offizielle Copy.Fail-Website
  • Offizieller technischer Bericht
  • oss-security-Advisory
  • Theori-Bericht
  • Bugcrowd-Zusammenfassung
Tool herunterladen