Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
copy-fail-cve-2026-31431 — Port Go du PoC Copy Fail pour CVE-2026-31431, une faille du noyau Linux authencesn permettant une écriture de 4 octets dans le cache de pages via AF_ALG et splice. Inclut un pipeline de compilation multi-architectures et une documentation technique détaillée. | Kitploit
Outils/GitHubGitHub/erdemozgen/copy-fail-cve-2026-31431
Frameworks d'ExploitationAnalyse des VulnérabilitésExploitationApprentissage et ÉducationExploitation de Binaires
GitHuberdemozgen/copy-fail-cve-2026-31431

copy-fail-cve-2026-31431

Port Go du PoC Copy Fail pour CVE-2026-31431, une faille du noyau Linux authencesn permettant une écriture de 4 octets dans le cache de pages via AF_ALG et splice. Inclut un pipeline de compilation multi-architectures et une documentation technique détaillée.

Voir le dépôtSite web
8il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Copy Fail - CVE-2026-31431

Ce dépôt fournit un portage Go du PoC public Copy Fail ainsi qu'un pipeline de compilation reproductible pour des binaires Linux multi-architectures.

Copy Fail (CVE-2026-31431) est une faille logique du noyau Linux dans authencesn qui permet une écriture déterministe de 4 octets dans les données du cache de pages référencées via AF_ALG + splice().

Utilisation Responsable

Utilisez ce projet uniquement dans des environnements où vous êtes explicitement autorisé à tester. N'exécutez pas ce PoC contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite d'évaluation.

Test Rapide (Sans Compilation)

Si vous souhaitez tester immédiatement sans compiler depuis les sources, téléchargez un binaire de release et exécutez-le :

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

Pour d'autres architectures, téléchargez l'artefact correspondant depuis la page GitHub Releases :

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

Contenu

  • Test Rapide (Sans Compilation)
  • Prérequis de Compilation
  • Compilation Locale
  • Utilisation
  • Dépannage
  • Vue d'Ensemble
  • Pourquoi C'est Important
  • Cause Racine
  • Chemin de Déclenchement dans authencesn
  • Comment la Faille est Devenue Accessible
  • Flux d'Exploitation de Haut Niveau
  • Résumé du Correctif
  • Remédiation
  • Chronologie de Divulgation
  • Comment Cela a Été Découvert
  • Structure du Dépôt
  • GitHub Actions
  • Distributions Testées
  • Références

Prérequis de Compilation

  • Go 1.23+
  • GNU Make

Compilation Locale

Compiler toutes les cibles Linux :

root@kitploit:~
make clean build-linux

Compiler et générer les sommes de contrôle :

root@kitploit:~
make clean checksums

Binaires de sortie dans 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

Utilisation

Exécution par défaut :

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

Utiliser un chemin cible personnalisé :

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

Désactiver l'exécution de su après l'exécution :

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

Afficher les métadonnées de compilation :

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

Dépannage

Si l'exécution échoue à l'offset 0 avec une erreur similaire à :

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

le noyau a très probablement rejeté le chemin AEAD en place vulnérable (par exemple parce que l'hôte est corrigé pour CVE-2026-31431 ou que algif_aead est atténué/désactivé).

Vérifications rapides :

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

Sur les systèmes corrigés, ce PoC est censé échouer.

Vue d'Ensemble

Selon la divulgation publique, le chemin vulnérable permet à un utilisateur local non privilégié d'influencer une primitive d'écriture de 4 octets dans le contenu du cache de pages de fichiers lisibles dans des conditions spécifiques.

La propriété opérationnelle importante est que la copie du cache de pages en mémoire peut diverger des octets sur disque pendant l'exécution, ce qui peut rendre l'analyse d'impact non triviale pour les équipes qui s'appuient uniquement sur des vérifications d'intégrité au niveau du disque.

Pourquoi C'est Important

Copy Fail est remarquable car il a été signalé comme :

  • Déterministe (aucune condition de course requise dans le chemin de déclenchement décrit).
  • Portable sur les principales distributions Linux lors des tests.
  • Compact dans son implémentation, sans dépendance à un constructeur de payload externe.
  • Pertinent au-delà du périmètre d'un seul processus en raison du comportement partagé du cache de pages.

Cause Racine

À un niveau élevé, le problème se situe à l'intersection de trois mécanismes :

  1. La gestion des requêtes AEAD AF_ALG.
  2. Le déplacement de données adossées au cache de pages via splice().
  3. Le comportement de la zone de travail de déchiffrement authencesn.

Dans la conception vulnérable, les segments adossés au cache de pages peuvent être liés dans une forme de requête qui reçoit ensuite des écritures pendant le traitement de l'algorithme, violant une hypothèse clé selon laquelle seules les régions de destination prévues sont modifiées.

Chemin de Déclenchement dans authencesn

Dans le chemin documenté, authencesn utilise des opérations de zone de travail côté destination autour de la gestion de la disposition ESN et effectue une écriture à un offset au-delà du contrat de sortie de déchiffrement attendu.

Lorsqu'il est combiné avec la configuration AEAD en place et les références scatterlist chaînées, cette écriture peut atterrir dans la mémoire adossée au cache de pages pour des régions sélectionnées par l'attaquant.

Comment la Faille est Devenue Accessible

La divulgation décrit une évolution en plusieurs commits :

  • Le comportement de authencesn est issu de l'historique d'intégration antérieur.
  • Le support AEAD AF_ALG a introduit l'accessibilité depuis l'espace utilisateur avec l'interaction splice().
  • L'optimisation en place ultérieure dans algif_aead a combiné les flux source et destination d'une manière qui a rendu cette intersection exploitable.

La leçon clé est le risque de composition : des changements individuellement raisonnables peuvent devenir dangereux en combinaison.

Flux d'Exploitation de Haut Niveau

Le rapport public et le PoC décrivent cette séquence :

  1. Ouvrir et configurer un socket AEAD AF_ALG pour authencesn(hmac(sha256),cbc(aes)).
  2. Fournir des métadonnées conçues et des données fragmentées.
  3. Utiliser splice() pour acheminer les données de fichiers adossées au cache de pages à travers le chemin de requête.
  4. Déclencher le traitement de déchiffrement et répéter par étapes contrôlées de 4 octets.

L'implémentation Go de ce dépôt reflète la logique de ce PoC public pour la recherche et la validation dans des environnements autorisés.

Résumé du Correctif

Le correctif signalé rétablit l'opération AEAD en place vulnérable dans algif_aead vers un comportement hors place.

Conceptuellement :

  • Avant le correctif : la source et la destination pouvaient fusionner en une seule chaîne inscriptible pour ce chemin.
  • Après le correctif : la source et la destination restent séparées, empêchant les segments source adossés au cache de pages d'être utilisés comme régions de destination inscriptibles dans ce flux.

Remédiation

  • Corriger les noyaux vers des versions contenant le correctif en amont.
  • Déployer les mises à jour des paquets de noyau du fournisseur sur l'ensemble du parc et des images.
  • Envisager des contrôles de durcissement temporaires (par exemple, des restrictions de politique sur l'utilisation de AF_ALG lorsque cela est opérationnellement faisable).
  • Valider la remédiation avec des vérifications à l'exécution, pas uniquement avec des flux de sommes de contrôle sur disque.

Chronologie de Divulgation

Basée sur le rapport public :

DateÉvénement
2026-03-23Rapport soumis à l'équipe de sécurité du noyau Linux
2026-03-24Accusé de réception initial
2026-03-25Discussion/examen du correctif
2026-04-01Correctif validé dans la branche principale
2026-04-22CVE-2026-31431 attribué
2026-04-29Divulgation publique

Comment Cela a Été Découvert

La recherche publiée crédite une analyse de sous-système assistée par IA et guidée par des humains, axée sur les chemins de code crypto accessibles depuis l'espace utilisateur et la provenance scatterlist/page sous splice().

Structure du Dépôt

  • main.go : portage Go du PoC.
  • Makefile : cibles de compilation Linux multi-architectures déterministes.
  • .github/workflows/build.yml : flux de travail CI de compilation et de publication d'artefacts.

GitHub Actions

Fichier de flux de travail : .github/workflows/build.yml

Déclencheurs :

  • Pull requests
  • Push vers main
  • Push de tag correspondant à v*
  • workflow_dispatch manuel

Comportement :

  1. Compile tous les binaires Linux avec sommes de contrôle via make clean checksums.
  2. Téléverse les artefacts CI nommés avec ref + SHA du commit.
  3. Publie automatiquement les ressources de release pour les tags correspondant à v*.

Flux de release suggéré :

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

Distributions Testées

DistributionVersion du noyau
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

Références

  • Article public original : https://xint.io/blog/copy-fail-linux-distributions
  • Entrée CVE : CVE-2026-31431
Télécharger l’outil