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
CVE-2026-43494-PinTheft-PoC — Preuve de concept pour CVE-2026-43494 (PinTheft) : élévation de privilèges locale Linux via un bug de refcount zerocopy de RDS + buffers fixes io_uring → écrasement du page-cache SUID. Recherche autorisée uniquement. | Kitploit
Outils/GitHubGitHub/tanzz1337/cve-2026-43494-pintheft-poc
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationArticles et RechercheApprentissage et ÉducationExploitation de Binaires
GitHubtanzz1337/cve-2026-43494-pintheft-poc

CVE-2026-43494-PinTheft-PoC

Preuve de concept pour CVE-2026-43494 (PinTheft) : élévation de privilèges locale Linux via un bug de refcount zerocopy de RDS + buffers fixes io_uring → écrasement du page-cache SUID. Recherche autorisée uniquement.

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
Voir le dépôt
8il y a 2 moisPas encore vérifié

SLEY — PinTheft PoC (CVE-2026-43494)

SLEY PoC — uid 1000 vers root sur WSL2

Preuve de concept — uid=1000(raken) → uid=0(root) après ./sley sur WSL2 (6.6.87.2-microsoft-standard-WSL2)

CVE-2026-43494 Linux LPE io_uring RDS

Preuve de concept mono-fichier pour CVE-2026-43494 (PinTheft) : une élévation de privilèges locale du noyau Linux qui combine un bug de comptage de références dans le zerocopy RDS avec les buffers fixes io_uring afin d'écraser le cache de pages d'un binaire SUID root.

Avertissement : Ce dépôt est destiné uniquement à la recherche en sécurité autorisée, à l'éducation et aux tests défensifs. Exécuter ceci contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation explicite de test est illégal et contraire à l'éthique. Les auteurs déclinent toute responsabilité en cas d'usage abusif.


Aperçu

La recherche publique originale et le PoC ont été publiés par l'équipe V12 Security (Aaron Esau). SLEY est une réimplémentation indépendante et compacte, avec une interface terminal stylisée, destinée à une utilisation en laboratoire et à l'apprentissage.


Fonctionnement

root@kitploit:~
flowchart LR
    A[mmap anonymous page] --> B[io_uring: register fixed buffer]
    B --> C[Clone buffer table to 2nd ring]
    C --> D[1024× failing RDS zerocopy sends]
    D --> E[Drain FOLL_PIN bias / steal refs]
    E --> F[munmap → page freed]
    F --> G[SUID binary page reclaimed in page cache]
    G --> H[Stale io_uring ptr writes ELF stub]
    H --> I[exec SUID → root shell]
  1. Reconnaissance — Épingler au CPU 0, localiser un binaire SUID lisible (su, mount, passwd, …).
  2. Configuration io_uring — Enregistrer la page anonyme comme buffer fixe (biais FOLL_PIN ≈ 1024).
  3. Vol de pin — Inonder le noyau d'envois RDS zerocopy en échec ; chaque échec peut libérer une référence supplémentaire sur la première page épinglée.
  4. Récupération et écrasement — L'unmap libère la page ; la réouverture de la cible SUID entre en course avec la récupération (reclaim) du cache de pages ; les métadonnées obsolètes du buffer fixe permettent d'écrire un minuscule stub ELF x86_64 dans le cache.
  5. Élévation de privilèges — execve du binaire SUID exécute le stub injecté en tant que root.

Prérequis

Noyau / configuration

  • Noyau Linux vulnérable (non corrigé) comportant le bug RDS
  • CONFIG_RDS=y et CONFIG_RDS_TCP=y
  • CONFIG_IO_URING=y et kernel.io_uring_disabled = 0
  • Modules rds / rds_tcp chargés (ou chargeables automatiquement par des utilisateurs non privilégiés)
  • Noyau ≥ 6.13 pour l'API IORING_REGISTER_CLONE_BUFFERS utilisée par la chaîne publique
  • x86_64 pour la charge utile ELF de shell intégrée dans ce PoC

Outils de compilation

root@kitploit:~
sudo apt install build-essential linux-libc-dev   # Debian/Ubuntu
# or equivalent headers package on your distro

Permissions

  • Un utilisateur local non privilégié suffit sur un hôte vulnérable (c'est le modèle de menace)
  • Ne pas exécuter sur des systèmes de production

Vérifier l'exposition (lecture seule)

root@kitploit:~
# Patched? (example — adjust for your distro)
uname -r
grep -r CVE-2026-43494 /usr/share/doc/linux* 2>/dev/null || true

# RDS available?
grep CONFIG_RDS /boot/config-$(uname -r) 2>/dev/null
lsmod | grep -E '^rds'

# io_uring enabled?
cat /proc/sys/kernel/io_uring_disabled  # expect 0

Compilation

root@kitploit:~
gcc -O2 -Wall -Wextra -o sley sley.c

Liage statique (optionnel, pour les images de laboratoire minimalistes) :

root@kitploit:~
gcc -O2 -static -o sley sley.c

Utilisation

root@kitploit:~
./sley

Toute la sortie de statut est envoyée vers stderr (interface ANSI 256 couleurs, barre de progression, journalisation par phases). Assurez-vous que votre terminal prend en charge l'UTF-8 et les couleurs truecolor/256 couleurs pour l'interface à caractères de filet (box-drawing).

Exemple de phases :

root@kitploit:~
PHASE 1 │ Reconnaissance
PHASE 2 │ Memory & io_uring setup
PHASE 3 │ Pin reference theft (RDS zerocopy)
PHASE 4 │ Page cache overwrite & privesc

Résultat attendu (hôte vulnérable)

Sur une configuration exploitée avec succès, la chaîne se termine et passe la main au binaire SUID découvert avec une première page écrasée — produisant un shell root si la course et l'état du noyau s'alignent.

Sur des noyaux corrigés, des hôtes durcis ou en l'absence de RDS/io_uring, le PoC échouera rapidement (pas de cible SUID, erreurs mmap/io_uring/socket, etc.).


Atténuation

Les avis de sécurité spécifiques aux distributions peuvent fournir des correctifs rétroportés — suivez la file de sécurité noyau de votre fournisseur.


Structure du projet

root@kitploit:~
.
├── README.md              # This file
├── proof-of-concept.jpg   # Screenshot: successful LPE (uid 1000 → root)
├── sley.c                 # Single-file PoC + terminal UI
└── .gitignore

Références

  • NVD — CVE-2026-43494
  • oss-security — Discussion sur PinTheft
  • Commit de correctif du noyau

Mentions légales

Ce logiciel est fourni tel quel à des fins de recherche et d'éducation. Vous êtes responsable du respect des lois applicables et de l'obtention d'une autorisation écrite avant de tester tout système que vous ne possédez pas.


Licence

MIT — consultez le fichier de licence du dépôt s'il est ajouté. Utilisez de manière responsable.

Télécharger l’outil
ÉlémentDétail
CVECVE-2026-43494
Nom publicPinTheft
Composantnet/rds — chemin d'envoi zerocopy (rds_message_zcopy_from_user)
PrimitiveDouble put_page() lors d'un échec de pin de page → vol des références FOLL_PIN
Armementbuffer fixe io_uring + zerocopy RDS en échec → écriture UAF dans le cache de pages
ImpactRoot local sur configurations vulnérables
Correctif amonte17492979319
ActionNotes
Corriger le noyauAppliquer le correctif stable contenant le commit e17492979319
Désactiver RDSmodprobe -r rds_tcp rds (et bloquer le chargement automatique) si non requis
Restreindre io_uringkernel.io_uring_disabled=1 ou 2 via sysctl
Moindre privilègeSupprimer les binaires SUID inutiles ; utiliser des conteneurs avec des profils durcis
SurveillanceAlerter en cas de rafales d'échecs RDS zerocopy + de schémas d'enregistrement de buffers io_uring