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 — # Go-Port des Copy-Fail-PoC für CVE-2026-31431 Go-Port des Copy-Fail-PoC für CVE-2026-31431, einen Linux-Kernel-Authencesn-Fehler, der einen 4-Byte-Schreibzugriff in den Page Cache über AF_ALG und splice ermöglicht. Enthält eine Multi-Arch-Build-Pipeline und ausführliche technische Dokumentation. | Kitploit
Tools/GitHubGitHub/erdemozgen/copy-fail-cve-2026-31431
Exploit-FrameworksSchwachstellenanalyseExploitationLernen & BildungBinary-Exploitation
GitHuberdemozgen/copy-fail-cve-2026-31431

copy-fail-cve-2026-31431

Repository anzeigen
Webseite
8vor 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 →

Über

# Go-Port des Copy-Fail-PoC für CVE-2026-31431 Go-Port des Copy-Fail-PoC für CVE-2026-31431, einen Linux-Kernel-Authencesn-Fehler, der einen 4-Byte-Schreibzugriff in den Page Cache über AF_ALG und splice ermöglicht. Enthält eine Multi-Arch-Build-Pipeline und ausführliche technische Dokumentation.

Teilen

Copy Fail - CVE-2026-31431

Dieses Repository bietet einen Go-Port des öffentlichen Copy-Fail-PoC und eine reproduzierbare Build-Pipeline für Linux-Binaries mehrerer Architekturen.

Copy Fail (CVE-2026-31431) ist ein Logikfehler im Linux-Kernel in authencesn, der einen deterministischen 4-Byte-Schreibzugriff in Page-Cache-Daten ermöglicht, die über AF_ALG + splice() referenziert werden.

Verantwortungsvolle Nutzung

Verwenden Sie dieses Projekt nur in Umgebungen, in denen Sie ausdrücklich zum Testen autorisiert sind. Führen Sie diesen PoC nicht gegen Systeme aus, die Sie nicht besitzen oder für deren Bewertung Sie keine schriftliche Genehmigung haben.

Schnelltest (ohne Build)

Wenn Sie sofort testen möchten, ohne aus dem Quellcode zu bauen, laden Sie ein Release-Binary herunter und führen Sie es aus:

root@kitploit:~
wget https://github.com/ErdemOzgen/copy-fail-cve-2026-31431/releases/download/v1.0.1/copy-fail-cve-2026-31431_linux_amd64
chmod +x copy-fail-cve-2026-31431_linux_amd64
./copy-fail-cve-2026-31431_linux_amd64

Für andere Architekturen laden Sie das passende Asset von der GitHub-Releases-Seite herunter:

https://github.com/ErdemOzgen/copy-fail-cve-2026-31431/releases

Inhalt

  • Schnelltest (ohne Build)
  • Build-Voraussetzungen
  • Lokaler Build
  • Verwendung
  • Fehlerbehebung
  • Überblick
  • Warum es wichtig ist
  • Grundursache
  • Auslösepfad in authencesn
  • Wie der Fehler erreichbar wurde
  • Exploit-Ablauf auf hoher Ebene
  • Zusammenfassung des Fixes
  • Behebung
  • Offenlegungszeitplan
  • Wie es gefunden wurde
  • Repository-Struktur
  • GitHub Actions
  • Getestete Distributionen
  • Referenzen

Build-Voraussetzungen

  • Go 1.23+
  • GNU Make

Lokaler Build

Alle Linux-Ziele bauen:

root@kitploit:~
make clean build-linux

Bauen und Prüfsummen generieren:

root@kitploit:~
make clean checksums

Ausgabebinaries in dist/:

  • copy-fail-cve-2026-31431_linux_amd64
  • copy-fail-cve-2026-31431_linux_arm64
  • copy-fail-cve-2026-31431_linux_386
  • copy-fail-cve-2026-31431_linux_armv7
  • SHA256SUMS

Verwendung

Standardausführung:

root@kitploit:~
./copy-fail-cve-2026-31431_linux_amd64

Einen benutzerdefinierten Zielpfad verwenden:

root@kitploit:~
./copy-fail-cve-2026-31431_linux_amd64 -target /path/to/binary

Ausführung von su nach dem Lauf deaktivieren:

root@kitploit:~
./copy-fail-cve-2026-31431_linux_amd64 -spawn-su=false

Build-Metadaten ausgeben:

root@kitploit:~
./copy-fail-cve-2026-31431_linux_amd64 -version

Fehlerbehebung

Wenn die Ausführung bei Offset 0 mit einem Fehler ähnlich dem folgenden fehlschlägt:

root@kitploit:~
error: copy chunk at offset 0: splice(pipe->AF_ALG): software caused connection abort

hat der Kernel höchstwahrscheinlich den verwundbaren AEAD-In-Place-Pfad abgelehnt (z. B. weil der Host für CVE-2026-31431 gepatcht ist oder algif_aead entschärft/deaktiviert ist).

Schnellprüfungen:

root@kitploit:~
uname -r
grep -E "algif_aead|authencesn" /proc/modules

Auf behobenen Systemen wird erwartet, dass dieser PoC fehlschlägt.

Überblick

Gemäß der öffentlichen Offenlegung ermöglicht der verwundbare Pfad einem nicht privilegierten lokalen Benutzer unter bestimmten Bedingungen einen 4-Byte-Schreibzugriff auf Page-Cache-Inhalte lesbarer Dateien zu beeinflussen.

Die wichtige betriebliche Eigenschaft ist, dass die In-Memory-Page-Cache-Kopie während der Laufzeit von den On-Disk-Bytes abweichen kann, was die Auswirkungsanalyse für Teams, die sich nur auf Integritätsprüfungen auf Datenträgerebene verlassen, nicht trivial macht.

Warum es wichtig ist

Copy Fail ist bemerkenswert, weil es wie folgt gemeldet wurde:

  • Deterministisch (keine Race-Bedingung im beschriebenen Auslösepfad erforderlich).
  • Portabel über große Linux-Distributionen im Test.
  • Kompakt in der Implementierung, ohne Abhängigkeit von externen Payload-Builder.
  • Über den Einzelprozessbereich hinaus relevant aufgrund des gemeinsamen Page-Cache-Verhaltens.

Grundursache

Auf hoher Ebene liegt das Problem an der Schnittstelle von drei Mechanismen:

  1. AF_ALG-AEAD-Anfrageverarbeitung.
  2. splice()-Page-Cache-gestützte Datenbewegung.
  3. authencesn-Entschlüsselungs-Scratch-Verhalten.

Im verwundbaren Design können Page-Cache-gestützte Segmente in eine Anfrageform eingebunden werden, die später während der Algorithmusverarbeitung Schreibzugriffe erhält, was eine Schlüsselannahme verletzt, dass nur beabsichtigte Zielregionen modifiziert werden.

Auslösepfad in authencesn

Im dokumentierten Pfad verwendet authencesn Zielseitige-Scratch-Operationen rund um die ESN-Layout-Behandlung und führt einen Schreibzugriff an einem Offset aus, der über den erwarteten Entschlüsselungsausgabevertrag hinausgeht.

In Kombination mit dem In-Place-AEAD-Setup und verketteten Scatterlist-Referenzen kann dieser Schreibzugriff in Page-Cache-gestütztem Speicher für vom Angreifer ausgewählte Regionen landen.

Wie der Fehler erreichbar wurde

Die Offenlegung beschreibt eine Entwicklung über mehrere Commits:

  • Das authencesn-Verhalten stammt aus früherer Integrationshistorie.
  • Die AF_ALG-AEAD-Unterstützung führte Benutzerraum-Erreichbarkeit mit splice()-Interaktion ein.
  • Eine spätere In-Place-Optimierung in algif_aead kombinierte Quell- und Zielfluss auf eine Weise, die diese Schnittstelle ausnutzbar machte.

Die wichtigste Lektion ist das Kompositionsrisiko: Einzeln vernünftige Änderungen können in Kombination unsicher werden.

Exploit-Ablauf auf hoher Ebene

Der öffentliche Bericht und PoC beschreiben diese Abfolge:

  1. Öffnen und Konfigurieren eines AF_ALG-AEAD-Sockets für authencesn(hmac(sha256),cbc(aes)).
  2. Bereitstellen von manipulierten Metadaten und segmentierten Daten.
  3. Verwenden von splice(), um Page-Cache-gestützte Dateidaten durch den Anforderungspfad zu leiten.
  4. Auslösen der Entschlüsselungsverarbeitung und Wiederholen in kontrollierten 4-Byte-Schritten.

Die Go-Implementierung dieses Repositorys spiegelt die öffentliche PoC-Logik für Forschung und Validierung in autorisierten Umgebungen wider.

Zusammenfassung des Fixes

Der gemeldete Fix stellt die verwundbare In-Place-AEAD-Operation in algif_aead auf Out-of-Place-Verhalten um.

Konzeptionell:

  • Vor dem Fix: Quelle und Ziel konnten für diesen Pfad zu einer beschreibbaren Kette kollabieren.
  • Nach dem Fix: Quelle und Ziel bleiben getrennt, wodurch verhindert wird, dass Page-Cache-gestützte Quellsegmente in diesem Fluss als beschreibbare Zielregionen verwendet werden.

Behebung

  • Kernel auf Versionen patchen, die den Upstream-Fix enthalten.
  • Vendor-Kernel-Paketupdates über Flotte und Images ausrollen.
  • Temporäre Härtungskontrollen in Betracht ziehen (z. B. Richtlinieneinschränkungen für die AF_ALG-Nutzung, wo betrieblich machbar).
  • Behebung mit Laufzeitprüfungen validieren, nicht nur mit Disk-Checksummen-Workflows.

Offenlegungszeitplan

Basierend auf dem öffentlichen Bericht:

DatumEreignis
2026-03-23Bericht an das Linux-Kernel-Sicherheitsteam eingereicht
2026-03-24Erste Bestätigung
2026-03-25Patch-Diskussion/Überprüfung
2026-04-01Fix in Mainline übernommen
2026-04-22CVE-2026-31431 zugewiesen
2026-04-29Öffentliche Offenlegung

Wie es gefunden wurde

Die veröffentlichte Forschung schreibt die Entdeckung einer menschlich geführten, KI-unterstützten Subsystemanalyse zu, die sich auf benutzerraum-erreichbare Krypto-Codepfade und Scatterlist/Page-Herkunft unter splice() konzentrierte.

Repository-Struktur

  • main.go: Go-PoC-Port.
  • Makefile: Deterministische Multi-Arch-Linux-Build-Ziele.
  • .github/workflows/build.yml: CI-Build- und Release-Artefakt-Workflow.

GitHub Actions

Workflow-Datei: .github/workflows/build.yml

Auslöser:

  • Pull Requests
  • Push auf main
  • Tag-Push passend zu v*
  • Manuelles workflow_dispatch

Verhalten:

  1. Baut alle Linux-Binaries mit Prüfsummen über make clean checksums.
  2. Lädt CI-Artefakte hoch, benannt mit Ref + Commit-SHA.
  3. Veröffentlicht Release-Assets automatisch für Tags passend zu v*.

Vorgeschlagener Release-Ablauf:

root@kitploit:~
git tag v1.0.0
git push origin v1.0.0

Getestete Distributionen

DistributionKernel-Version
Ubuntu 24.04 LTS6.17.0-1007-aws
Amazon Linux 20236.18.8-9.213.amzn2023
RHEL 10.16.12.0-124.45.1.el10_1
SUSE 166.12.0-160000.9-default

Referenzen

  • Originaler öffentlicher Artikel: https://xint.io/blog/copy-fail-linux-distributions
  • CVE-Eintrag: CVE-2026-31431
Tool herunterladen