„`html
CVE-2026-63803: Use-After-Free in Linux Kernel HDLC PPP-Protokoll
Zusammenfassung
Eine kritische Use-After-Free-Schwachstelle in der Linux Kernel HDLC-PPP-Implementierung ermöglicht es Angreifern mit lokalen Zugriff, Speicher nach Freigabe zu referenzieren. Die Schwachstelle entsteht durch unzureichende Timer-Synchronisation beim Deinitialisieren von PPP-Kontrollprotokollen (LCP, IPCP, IPV6CP). Mit einem CVSS-Score von 7.8 wird die Sicherheitslücke als kritisch eingestuft.
Betroffene Systeme
Linux Kernel in verschiedenen Distributionen. Betroffen sind Systeme mit aktivierter HDLC/PPP-Unterstützung, besonders solche mit mehreren Netzwerkprotokoll-Stapeln.
Technische Details
Die Schwachstelle liegt in der fehlerhaften Timer-Verwaltung der PPP-Kontrollprotokolle. Jedes Protokoll (LCP/IPCP/IPV6CP) registriert einen Timer via timer_setup() in der struct ppp. Diese Struktur ist teil der hdlc->state Allocation, die durch kfree() in detach_hdlc_protocol() freigegeben wird.
Das kritische Problem: Das PPP-Protokoll implementiert keinen .detach-Callback. Dies führt dazu, dass detach_hdlc_protocol() vor der Speicherfreigabe keine Timer-Synchronisation durchführt. Ein bereits laufender Timer-Callback, der auf ppp->lock blockiert, überlebt die kfree()-Operation und referenziert anschließend proto->state und ppp->lock in freigegebenem Speicher.
Die Behebung implementiert einen .detach-Handler mit timer_shutdown_sync() für alle Pro-Proto-Timer. Die Timer werden bei Protokoll-Attachment in ppp_ioctl() initialisiert statt in ppp_start(), was Doppel-Initialisierung und Zugriff auf uninitialisierten Speicher verhindert.
Empfohlene Massnahmen
- Kernel-Update auf gepatchte Version durchführen
- HDLC/PPP-Module deaktivieren, falls nicht benötigt
- Zugriff auf Device-Konfiguration beschränken
- Kernel-Audit für verdächtige Use-After-Free-Patterns aktivieren
Bewertung
CVSS Score: 7.8 (High)
Angriffsvektor: Local
Auswirkung: Speicherverletzung, möglicher Privilege Escalation
Entdeckung: Statische Code-Analyse
„`