Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2026-68121 — Dépôt de recherche pour CVE-2026-68121, une vulnérabilité use-after-free dans le noyau Linux au niveau de PPPoE dans pppoe_sendmsg() permettant une élévation de privilèges locale, avec PoC, analyse de la cause racine et configuration de laboratoire. | Kitploit
Outils/GitHubGitHub/0xblackash/cve-2026-68121
Escalade de PrivilègesCriminalistique MémoireAnalyse des VulnérabilitésExploitationRétro-ingénierieArticles et RechercheApprentissage et ÉducationExploitation de BinairesLabs et Pratique
GitHub0xblackash/cve-2026-68121

CVE-2026-68121

Dépôt de recherche pour CVE-2026-68121, une vulnérabilité use-after-free dans le noyau Linux au niveau de PPPoE dans pppoe_sendmsg() permettant une élévation de privilèges locale, avec PoC, analyse de la cause racine et configuration de laboratoire.

166il y a 1 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
Voir le dépôt

⚡ CVE-2026-68121 - PPPoEject

Gemini_Generated_Image_f5uscnf5uscnf5us (1)

Linux Kernel PPPoE Use-After-Free → Local Privilege Escalation

Une vulnérabilité de corruption de mémoire du noyau Linux dans le chemin de transmission PPPoE, causée par un pointeur obsolète vers un en-tête sk_buff après qu'un callback d'en-tête de périphérique a réalloué la tête du skb.


⚠️ Avertissement

Ce dépôt est destiné uniquement à la recherche en sécurité autorisée, à l'analyse de vulnérabilités du noyau, aux environnements CTF et aux tests défensifs.

N'exécutez pas de code de preuve de concept contre des systèmes sans autorisation explicite.


📌 Aperçu de la vulnérabilité

ChampDétails
CVECVE-2026-68121
Nom de codePPPoEject
ComposantLinux Kernel
Sous-systèmePPPoE / Networking
Fichier affectédrivers/net/ppp/pppoe.c
Fonction principalepppoe_sendmsg()
Classe de bugUse-After-Free
ImpactCorruption de mémoire du noyau
Impact potentielÉlévation de privilèges locale
CVSS v3.17.8 — Élevé
Vecteur d'attaqueLocal
Complexité d'attaqueFaible
Privilèges requisFaibles
Interaction utilisateurAucune
StatutCorrigé

L'enregistrement CVE identifie la vulnérabilité comme un pointeur d'en-tête PPPoE obsolète qui peut devenir invalide lorsque dev_hard_header() réalloue la tête du skb.


🧬 Description de la vulnérabilité

La vulnérabilité existe dans :

drivers/net/ppp/pppoe.c

dans :

pppoe_sendmsg()

La séquence vulnérable est conceptuellement :

pppoe_sendmsg()
      │
      ▼
Save PPPoE header pointer
      │
      ▼
dev_hard_header()
      │
      ▼
skb head may be reallocated
      │
      ▼
Old pointer becomes stale
      │
      ▼
PPPoE writes through stale pointer
      │
      ▼
Use-After-Free
      │
      ▼
Kernel memory corruption

Le code réseau de Linux permet aux callbacks d'en-tête de périphérique de réallouer la tête du sk_buff. Un pointeur vers l'ancienne tête ne peut donc pas être réutilisé en toute sécurité après le retour de dev_hard_header().


🔬 Cause racine

Le problème central est une violation de durée de vie.

pppoe_sendmsg() obtient un pointeur vers l'en-tête PPPoE avant d'invoquer :

dev_hard_header()

Cependant, ce callback peut entraîner le déplacement de la tête du skb.

Conceptuellement :

Before callback:

skb
┌──────────────────────────────┐
│ Ethernet │ PPPoE │ Payload   │
└──────────┴───────┴───────────┘
           ▲
           │
       stale pointer


After skb expansion:

old skb head ──X──► freed

new skb head
┌────────────────────────────────────┐
│ Ethernet │ PPPoE │ Payload         │
└──────────┴───────┴─────────────────┘
           ▲
           │
      valid location

L'ancien pointeur référence toujours l'allocation libérée.

Lorsque PPPoE écrit ensuite l'en-tête via ce pointeur, le noyau effectue une écriture après libération (use-after-free).


🧠 Condition de déclenchement

Le déclencheur documenté implique une condition de course autour de copy_from_user() et des modifications des opérations d'en-tête d'un périphérique team.

Une séquence décrite est :

PPPoE sendmsg()
      │
      ▼
copy_from_user() blocks
      │
      │
      ├───────────────┐
      │               │
      ▼               ▼
Team device changes   First non-Ethernet
header operations     port is added
                      │
                      ▼
               Delegated GRE callback
                      │
                      ▼
               skb head expansion
      │               │
      └───────────────┘
              │
              ▼
       stale PPPoE pointer
              │
              ▼
       use-after-free write

L'enregistrement CVE note que cela peut se produire lorsque le premier port non-Ethernet est ajouté à un périphérique team vide et que le callback GRE délégué de l'en-tête développe la tête du skb.


💥 Impact sur la sécurité

La vulnérabilité peut entraîner :

  • Utilisation après libération (use-after-free) dans le tas du noyau
  • Corruption de la mémoire du noyau
  • Plantage du noyau / déni de service
  • Divulgation potentielle de la mémoire du noyau
  • Modification arbitraire potentielle de la mémoire du noyau
  • Exécution potentielle de code dans le noyau
  • Élévation locale de privilèges

Le vecteur CVSS publié de la CVE est :

CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

avec un score de base de 7.8 Élevé.


🔎 Surface d'attaque technique

Les composants concernés sont :

PF_PPPOX / PPPoE socket
          │
          ▼
    pppoe_sendmsg()
          │
          ▼
     sk_buff (skb)
          │
          ▼
  dev_hard_header()
          │
          ▼
 Network device header callback
          │
          ▼
 Potential skb head expansion
          │
          ▼
 PPPoE stale header pointer
          │
          ▼
     UAF write

Le code vulnérable n'est donc pas simplement un analyseur générique de paquets PPPoE ; la condition critique réside dans l'interaction entre la transmission via socket PPPoE et la réallocation dynamique de la tête de skb.


🩹 Correctif amont

Le correctif amont est intitulé :

pppoe: reload header pointer after dev_hard_header()

Le correctif recharge l'en-tête PPPoE via l'offset d'en-tête réseau du skb après la création de l'en-tête de périphérique.

La propriété importante est :

Before:

header pointer
      │
      ▼
dev_hard_header()
      │
      ▼
skb moves
      │
      ▼
pointer = stale ❌


After:

dev_hard_header()
      │
      ▼
skb may move
      │
      ▼
reload header using skb offset
      │
      ▼
pointer = valid ✅

pskb_expand_head() met à jour l'offset skb concerné lorsque la tête du skb est relocalisée, rendant la recherche basée sur l'offset sûre après réallocation.


📊 Vulnérable vs Corrigé

Propriété de sécuritéVulnérableCorrigé
Pointeur d'en-tête sauvegardé avant le callback✅—
La tête du skb peut se déplacer✅✅
Pointeur rafraîchi après le callback❌✅
Déréférencement de pointeur obsolètePossibleEmpêché
Écriture use-after-freePossibleAtténué
Corruption de la mémoire du noyauPossibleAtténué

🧪 Environnement de recherche

Télécharger l’outil