Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-68121 — Forschungs-Repository für CVE-2026-68121, einen Use-after-Free im Linux-Kernel-PPPoE in pppoe_sendmsg(), der lokale Rechteausweitung ermöglicht, mit PoC, Ursachenanalyse und Laboreinrichtung. | Kitploit
Tools/GitHubGitHub/0xblackash/cve-2026-68121
Privilege EscalationSpeicherforensikSchwachstellenanalyseExploitationReverse EngineeringPapers & ForschungLernen & BildungBinary-ExploitationLabs & Praxis
GitHub0xblackash/cve-2026-68121

CVE-2026-68121

Forschungs-Repository für CVE-2026-68121, einen Use-after-Free im Linux-Kernel-PPPoE in pppoe_sendmsg(), der lokale Rechteausweitung ermöglicht, mit PoC, Ursachenanalyse und Laboreinrichtung.

166vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen

⚡ CVE-2026-68121 - PPPoEject

Gemini_Generated_Image_f5uscnf5uscnf5us (1)

Linux-Kernel-PPPoE-Use-After-Free → Lokale Privilegieneskalation

Eine Speicherkorruptions-Schwachstelle im Linux-Kernel im PPPoE-Übertragungspfad, verursacht durch einen veralteten Zeiger auf einen sk_buff-Header, nachdem ein Geräte-Header-Callback den skb-Head neu zugewiesen hat.


⚠️ Haftungsausschluss

Dieses Repository ist ausschließlich für autorisierte Sicherheitsforschung, Kernel-Schwachstellenanalyse, CTF-Umgebungen und defensives Testen gedacht.

Führen Sie Proof-of-Concept-Code nicht gegen Systeme aus, für die keine ausdrückliche Genehmigung vorliegt.


📌 Schwachstellenübersicht

FeldDetails
CVECVE-2026-68121
CodenamePPPoEject
KomponenteLinux Kernel
SubsystemPPPoE / Networking
Betroffene Dateidrivers/net/ppp/pppoe.c
Primäre Funktionpppoe_sendmsg()
FehlerklasseUse-After-Free
AuswirkungKernel-Speicherkorruption
Potenzieller ImpactLokale Privilegieneskalation
CVSS v3.17.8 — High
AngriffsvektorLokal
AngriffskomplexitätNiedrig
Erforderliche PrivilegienNiedrig
BenutzerinteraktionKeine
StatusGepatcht

Der CVE-Eintrag identifiziert die Schwachstelle als einen veralteten PPPoE-Header-Zeiger, der ungültig werden kann, wenn dev_hard_header() den skb-Head neu zuweist.


🧬 Beschreibung der Schwachstelle

Die Schwachstelle befindet sich in:

drivers/net/ppp/pppoe.c

innerhalb von:

pppoe_sendmsg()

Die verwundbare Sequenz ist konzeptionell:

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

Der Linux-Netzwerkcode erlaubt es Geräte-Header-Callbacks, den sk_buff-Head neu zu allozieren. Ein Zeiger in den alten Head kann daher nach der Rückkehr von dev_hard_header() nicht sicher wiederverwendet werden.


🔬 Grundursache

Das Kernproblem ist eine Lifetime-Verletzung.

pppoe_sendmsg() erhält einen Zeiger auf den PPPoE-Header, bevor Folgendes aufgerufen wird:

dev_hard_header()

Der Callback kann jedoch dazu führen, dass sich der skb-Kopf verschiebt.

Konzeptionell:

Before callback:

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


After skb expansion:

old skb head ──X──► freed

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

Der alte Zeiger verweist weiterhin auf die freigegebene Zuweisung.

Wenn PPPoE anschließend den Header über diesen Zeiger schreibt, führt der Kernel einen Use-after-free-Schreibzugriff aus.


🧠 Auslösebedingung

Der dokumentierte Auslöser beinhaltet eine Race-Bedingung rund um copy_from_user() und Änderungen an den Header-Operationen eines Team-Geräts.

Eine beschriebene Abfolge ist:

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

Der CVE-Eintrag merkt an, dass dies auftreten kann, wenn der erste Nicht-Ethernet-Port zu einem leeren Team-Gerät hinzugefügt wird und der delegierte GRE-Header-Callback den skb-Head erweitert.


💥 Sicherheitsauswirkung

Die Schwachstelle kann zu Folgendem führen:

  • Kernel-Heap-Use-after-free
  • Kernel-Speicherbeschädigung
  • Kernel-Absturz / Denial of Service
  • Mögliche Offenlegung von Kernel-Speicher
  • Mögliche beliebige Modifikation von Kernel-Speicher
  • Mögliche Ausführung von Kernel-Code
  • Lokale Privilegieneskalation

Der veröffentlichte CVSS-Vektor der CVE lautet:

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

mit einem Basiswert von 7.8 High.


🔎 Technische Angriffsfläche

Die relevanten Komponenten sind:

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

Der verwundbare Code ist daher nicht einfach ein generischer PPPoE-Paketparser; die kritische Bedingung ist die Interaktion zwischen PPPoE-Socket-Übertragung und dynamischer skb-Head-Neuzuweisung.


🩹 Upstream-Fix

Der Upstream-Fix trägt den Titel:

pppoe: reload header pointer after dev_hard_header()

Die Korrektur lädt den PPPoE-Header über den network-header offset des skb neu, nachdem der Geräte-Header erstellt wurde.

Die wichtige Eigenschaft ist:

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() aktualisiert den relevanten skb-Offset, wenn der skb-Kopf verschoben wird, wodurch die offsetbasierte Suche nach einer Neuzuweisung sicher bleibt.


📊 Anfällig vs. Gepatcht

SicherheitseigenschaftAnfälligGepatcht
Header-Zeiger vor Callback gespeichert✅—
skb-Kopf kann sich verschieben✅✅
Zeiger nach Callback aktualisiert❌✅
Dereferenzierung eines veralteten ZeigersMöglichVerhindert
Use-after-free-SchreibzugriffMöglichAbgemildert
Kernel-SpeicherkorruptionMöglichAbgemildert

🧪 Forschungsumgebung

Ein kontrolliertes Labor kann wie folgt strukturiert werden:

Tool herunterladen