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-detection-probe — Outillage de détection sûr pour CVE-2026-31431 "Copy Fail" et CVE-2026-43284 "Dirty Frag" — une élévation locale de privilèges dans le module algif_aead du noyau Linux affectant toutes les principales distributions depuis 2017. | Kitploit
Outils/GitHubGitHub/ochebotar/copy-fail-cve-2026-31431-detection-probe
Escalade de PrivilègesScanners de VulnérabilitésAnalyse des VulnérabilitésExploitationAudit de ConfigurationDevSecOpsRenseignement sur les MenacesApprentissage et ÉducationRéponse aux Incidents

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
Ressources Organisées
GitHubochebotar/copy-fail-cve-2026-31431-detection-probe

copy-fail-CVE-2026-31431-detection-probe

Outillage de détection sûr pour CVE-2026-31431 "Copy Fail" et CVE-2026-43284 "Dirty Frag" — une élévation locale de privilèges dans le module algif_aead du noyau Linux affectant toutes les principales distributions depuis 2017.

Voir le dépôt
1022il y a 3 moisPas encore vérifié

Suite de sondes LPE pour le noyau Linux — Copy Fail & Dirty Frag

License: MIT CVE-2026-31431 CVE-2026-43284 CVE-2026-43500 CVSS Shell

Outils de détection sûrs pour deux familles de vulnérabilités d'élévation de privilèges locaux du noyau Linux — Copy Fail (CVE-2026-31431) et Dirty Frag (CVE-2026-43284 / CVE-2026-43500) — affectant toutes les principales distributions depuis 2017, toutes deux exploitables par tout utilisateur local non privilégié, et toutes deux nécessitant des mitigations indépendantes.

Ces sondes n'ouvrent aucun socket et n'effectuent aucune opération cryptographique ou réseau. La détection repose uniquement sur la version du noyau, les métadonnées des paquets de la distribution, l'état des modules et les indicateurs de mitigation actifs — le tout lisible par tous sans sudo.


⚠️ Important : deux vulnérabilités distinctes

Appliquer la mitigation Copy Fail ne protège PAS contre Dirty Frag. Les deux sondes doivent être exécutées et les deux mitigations appliquées indépendamment.


Fichiers

root@kitploit:~
.
├── cve-2026-31431-check.sh          Copy Fail probe (all output modes)
├── copy_fail_userparameter.conf     Zabbix agent UserParameter — Copy Fail
├── zabbix_template_copy_fail.yaml   Zabbix 6.4 template — Copy Fail
├── copy_fail_auditd.rules           auditd behavioral detection — Copy Fail
├── cve-2026-43284-check.sh          Dirty Frag probe (all output modes)
├── dirty_frag_userparameter.conf    Zabbix agent UserParameter — Dirty Frag
├── wazuh_sca/
│   └── copy_fail_sca.yml            Wazuh SCA compliance policy
└── ansible/
    └── copy_fall_scan.yml           Fleet-wide Ansible scan playbook

CVE-2026-31431 — Copy Fail

Contexte

L'exploit nécessite cette chaîne d'appels système exacte :

root@kitploit:~
socket(AF_ALG, SOCK_SEQPACKET, 0)
bind(fd, {alg_type="aead", alg_name="authesn(hmac(sha256),cbc(aes))"})
accept(fd, ...)
splice(suid_binary_fd, op_fd)   ← page cache fed into crypto subsystem
sendmsg / recvmsg               ← 4-byte scratch write lands in page cache

Aucun de ces appels n'est effectué par la sonde. La détection repose sur :

  1. Plage de versions du noyau — régression dans 4.14–6.17 ; corrigée dans 6.18.22 / 6.19.12 / 6.20+
  2. Version des paquets de la distribution — détection des backports du fournisseur avec des seuils de correctifs connus
  3. État du module — chargé, absent, intégré au noyau, ou .ko sur disque (chargeable automatiquement)
  4. Mitigations actives — liste noire modprobe.d et indicateur initcall_blacklist de la ligne de commande du noyau

Démarrage rapide

root@kitploit:~
chmod +x cve-2026-31431-check.sh
./cve-2026-31431-check.sh           # human-readable
./cve-2026-31431-check.sh --json    # machine-readable
./cve-2026-31431-check.sh --nagios  # Nagios/Icinga/NRPE
./cve-2026-31431-check.sh --zabbix  # integer 0/1/2 for Zabbix item

Codes de sortie : 0 = CORRIGÉ ou MITIGÉ · 1 = VULNÉRABLE · 2 = INCONNU

Versions de paquets corrigées

Le script compare automatiquement ces seuils et attribue le verdict CORRIGÉ lorsque le paquet installé atteint ou dépasse le seuil.

Famille RHEL : particularité du module intégré au noyau

Sur RHEL, AlmaLinux, Rocky Linux et leurs dérivés, algif_aead est compilé dans le noyau. La solution de contournement modprobe.d n'a aucun effet. Seul initcall_blacklist=algif_aead_init sur la ligne de commande du noyau fonctionne. La sonde le détecte et émet un avertissement explicite.

root@kitploit:~
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot

CVE-2026-43284 / CVE-2026-43500 — Dirty Frag

Contexte

Dirty Frag enchaîne deux bogues de décryptage en place sur le chemin rapide découverts par Hyunwoo Kim (@v4bel), divulgués vers le 7 mai 2026, une semaine après Copy Fail :

  • CVE-2026-43284 — chemin rapide xfrm-ESP (esp4, esp6) ; correctif en amont f4c50a4034e6
  • CVE-2026-43500 — chemin rapide RxRPC (rxrpc) ; correctif en amont aa54b1d27fe0

L'exploit attache les pages de pipe du cache de pages de /usr/bin/su comme fragments paginés de socket-buffer, puis pilote le décryptage en place avec une clé choisie par l'attaquant — écrivant des octets arbitraires directement dans la copie en cache d'un binaire setuid, sans toucher au fichier sur disque.

La mitigation Copy Fail (liste noire algif_aead) ne prévient PAS Dirty Frag.

Démarrage rapide

root@kitploit:~
chmod +x cve-2026-43284-check.sh
./cve-2026-43284-check.sh           # human-readable
./cve-2026-43284-check.sh --json    # machine-readable
./cve-2026-43284-check.sh --nagios  # Nagios/Icinga/NRPE
./cve-2026-43284-check.sh --zabbix  # integer 0/1/2 for Zabbix item

La sonde vérifie esp4, esp6 et rxrpc indépendamment et rapporte des booléens distincts cve_43284_safe / cve_43500_safe dans la sortie JSON.

Avertissement IPsec

esp4 et esp6 sont les transformations ESP côté noyau utilisées par IPsec (strongSwan, Libreswan). Leur mise sur liste noire casse les tunnels IPsec. La sonde détecte l'utilisation active d'IPsec via ip xfrm state et la détection de démons, et adapte les recommandations de remédiation en conséquence :

  • Pas d'IPsec : appliquez la liste noire modprobe.d complète pour les trois modules.
  • IPsec en cours d'utilisation : restreignez les espaces de noms utilisateur non privilégiés (bloque le chemin ESP ; mettez également rxrpc sur liste noire séparément si ce n'est pas nécessaire) :
    root@kitploit:~
    # RHEL-family
    sysctl -w user.max_user_namespaces=0
    echo "install rxrpc /bin/false" >> /etc/modprobe.d/dirtyfrag.conf
    
    # Ubuntu / Debian
    sysctl -w kernel.unprivileged_userns_clone=0
    echo "install rxrpc /bin/false" >> /etc/modprobe.d/dirtyfrag.conf
    

Versions de paquets corrigées

DistroCVE-2026-43284CVE-2026-43500 (rxrpc)
RHEL / Rocky / Alma 8.104.18.0-553.123.2.el8_10N/A — rxrpc non fourni sur RHEL 8
RHEL / Rocky / Alma 9.x

Pour les systèmes en attente d'un noyau corrigé, appliquez immédiatement la liste noire modprobe.d (en tenant compte de la réserve IPsec).

RHEL 8 / rxrpc

AlmaLinux / RHEL 8 ne compile pas du tout le module rxrpc. La sonde marque automatiquement kernel_vuln_rxrpc=not_affected sur RHEL/Rocky/Alma 8.x.


Intégrations de supervision

Zabbix

Déployez les deux sondes sur chaque hôte supervisé :

root@kitploit:~
mkdir -p /etc/zabbix/scripts
install -m 750 -o zabbix -g zabbix cve-2026-31431-check.sh /etc/zabbix/scripts/
install -m 750 -o zabbix -g zabbix cve-2026-43284-check.sh /etc/zabbix/scripts/

cp copy_fail_userparameter.conf /etc/zabbix/zabbix_agentd.d/
cp dirty_frag_userparameter.conf /etc/zabbix/zabbix_agentd.d/
systemctl restart zabbix-agent   # or zabbix-agent2

Importez zabbix_template_copy_fail.yaml via Configuration → Modèles → Importer.

Éléments UserParameter fournis :

Le modèle Copy Fail comprend un déclencheur HIGH sur status=1 et un WARNING sur status=2. Aucun sudo requis — chaque fichier lu par les deux scripts est lisible par tous.

Nagios / Icinga / NRPE

root@kitploit:~
install -m 755 cve-2026-31431-check.sh /usr/lib/nagios/plugins/
install -m 755 cve-2026-43284-check.sh /usr/lib/nagios/plugins/

# NRPE — add to /etc/nagios/nrpe.cfg:
command[check_copy_fail]=/usr/lib/nagios/plugins/cve-2026-31431-check.sh --nagios
command[check_dirty_frag]=/usr/lib/nagios/plugins/cve-2026-43284-check.sh --nagios

# CheckMK local checks:
echo '#!/bin/bash
OUT=$(/usr/lib/nagios/plugins/cve-2026-31431-check.sh --nagios); RC=$?
echo "$RC CVE-2026-31431 - $OUT"' > /usr/lib/check_mk_agent/local/copy_fail

echo '#!/bin/bash
OUT=$(/usr/lib/nagios/plugins/cve-2026-43284-check.sh --nagios); RC=$?
echo "$RC CVE-2026-43284 - $OUT"' > /usr/lib/check_mk_agent/local/dirty_frag

chmod +x /usr/lib/check_mk_agent/local/copy_fail \
         /usr/lib/check_mk_agent/local/dirty_frag

auditd — détection comportementale / à l'exécution

Détecte une tentative d'exploitation active en cours, complétant les deux sondes statiques.

root@kitploit:~
cp copy_fail_auditd.rules /etc/audit/rules.d/
augenrules --load

# Watch for unexpected AF_ALG callers:
ausearch -k copy_fail_af_alg --interpret | \
    grep -v -E 'cryptsetup|veritysetup|systemd-crypt|kcapi'

Des ébauches de règles Wazuh (niveau 13 / 15) sont intégrées dans les commentaires du fichier .rules.

Wazuh SCA

root@kitploit:~
cp wazuh_sca/copy_fail_sca.yml /var/ossec/etc/shared/default/
/var/ossec/bin/agent_control -r -a

Résultats : Security → SCA → Filtrer par politique cve_2026_31431_copy_fail

Ansible — scan du parc

root@kitploit:~
ansible-playbook -i inventory/hosts ansible/copy_fall_scan.yml
# Limit to a subset:
ansible-playbook -i inventory/hosts ansible/copy_fall_scan.yml --limit webservers

Écrit un JSON par hôte + summary.txt dans /tmp/copy_fail_results/ sur le contrôleur. Le playbook se termine avec un code non nul si un hôte est VULNÉRABLE.


Suivi de sécurité des fournisseurs


Références

Copy Fail

  • Analyse originale de Xint/Theori
  • Avis CERT-EU 2026-005
  • NVD CVE-2026-31431
  • Avis de sécurité Ubuntu USN-8226-1
  • Avis Rocky Linux 2026-05-11
  • SUSE répond à Copy Fail

Dirty Frag

  • Analyse Dirty Frag (copy.fail)
  • NVD CVE-2026-43284
  • Avis AlmaLinux 2026-05-07
  • Sysdig TRT — analyse de détection Dirty Frag
  • Blog sécurité Microsoft — attaque active
  • Blog Wiz — Dirty Frag
Télécharger l’outil
Copy FailDirty Frag
CVECVE-2026-31431CVE-2026-43284 + CVE-2026-43500
Module(s)algif_aeadesp4, esp6, rxrpc
IntroduitAoût 2017 (noyau 4.14)Janv. 2017 / Juin 2023
Mitigationliste noire modprobe.d pour algif_aeadliste noire modprobe.d pour esp4/esp6/rxrpc
Script de sondecve-2026-31431-check.shcve-2026-43284-check.sh
DistroVersion corrigéeAvis de sécurité
RHEL / Rocky / Alma 8.10kernel-4.18.0-553.123.1.el8_10Rocky 2026-05-11
RHEL / Rocky / Alma 9.7kernel-5.14.0-611.54.1.el9_7idem
RHEL / Rocky / Alma 10.1kernel-6.12.0-124.55.1.el10_1idem
Debian 11 (bullseye)linux 5.10.251-3DLA-4560-1
Debian 12 (bookworm)linux 6.1.170-1DSA-6243-1
Debian 13 (trixie)linux 6.12.85-1DSA-6238-1
Ubuntu 22.04 / 24.04Pas encore de noyau corrigé — mitigation kmod via USN-8226-1USN-8226-1
SLES 12 SP5kernel-default 4.12.14-122.299.1SUSE-SU-2026:1669-1
SLES 15 SP5kernel-default 5.14.21-150500.55.144.1SUSE-SU-2026:1670-1
SLES 15 SP6kernel-default 6.4.0-150600.23.92.1SUSE-SU-2026:1671-1
SLES 15 SP7kernel-default 6.4.0-150700.53.40.1SUSE-SU-2026:1669-1
SLES 16.0kernel-default 6.12.0-160000.29.1Avis SUSE
En attente
En attente
Debian / Ubuntu / SLESEn attenteEn attente
CléTypeSignification
copy_fail.statusint0=sûr · 1=vulnérable · 2=inconnu
copy_fail.detailstrVerdict Copy Fail lisible par un humain
dirty_frag.statusint0=sûr · 1=vulnérable · 2=inconnu
dirty_frag.detailstrVerdict Dirty Frag lisible par un humain
DistroCopy FailDirty Frag
Ubuntuubuntu.com/security/CVE-2026-31431ubuntu.com/security/CVE-2026-43284
Debiansecurity-tracker…CVE-2026-31431security-tracker…CVE-2026-43284
RHEL / Alma / Rockyaccess.redhat.com…CVE-2026-31431access.redhat.com…CVE-2026-43284
Amazon Linuxalas.aws…CVE-2026-31431alas.aws…CVE-2026-43284
SUSEsuse.com…CVE-2026-31431suse.com…CVE-2026-43284