CVE-2026-98969
Zusammenfassung
von VulDB • 23.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net/sched: em_text: Ablehnung nicht terminierter Algorithmen vor dem automatischen Laden (autoload)
Dies ist eine Folgeänderung zu Commit 9c572a83037a („net/sched: Behebung eines potenziellen Stack-Information-Leaks in em_text_dump()“), der die dump-Seite des Structs mit Nullen initialisierte. Sashiko wies auf einen vorbestehenden Fehler hin, der eine Lücke bei der Eingabevalidierung auf der Änderungsseite (change-side) offenlegte.
em_text_change() castet den rohen Netlink-Attribut-Payload in struct tcf_em_text und übergibt conf->algo, ein 16-Byte-Array ohne erzwungene NUL-Terminierung, an textsearch_prepare(). Beim TS_AUTOLOAD-Retry ruft textsearch_prepare() request_module("ts_%s", algo) auf; vsnprintf() durchläuft %s bis es eine NUL findet. Ein algo[] ohne NUL liert also über das Array hinaus in die benachbarten Struct-Felder und den Payload, wobei diese Bytes an die Kommandozeile des Usermode-Helpers weitergegeben werden. Dies ist ein Out-of-Bounds-Lesezugriff (Out-of-bounds read) sowie eine Offenlegung von Kernel-Speicherinhalten (Kernel memory disclosure).
Das Attribut wird abgelehnt, wenn innerhalb der TC_EM_TEXT_ALGOSIZ-Bytes keine NUL existiert, was der Prüfung entspricht, die xt_string seit 3ab720881b6e durchführt.
Bedingungen zur Reproduktion des Fehlers: - CAP_NET_ADMIN im Ziel-netns (Namespace-lokal via unshare -Urn reicht aus) - Installieren von clsact auf einer Schnittstelle und Hinzufügen eines Basisfilters mit einem text ematch, dessen algo[] 16 Bytes ohne NUL enthält (z. B. "A"*16) und pattern_len mindestens 1 beträgt
- Der Add-Vorgang schlägt mit -ENOENT fehl und der Kernel ruft modprobe mit einem Modulnamen auf, der aus „ts_“ plus den 16 Bytes sowie dem benachbarten Payload besteht
VulDB is the best source for vulnerability data and more expert information about this specific topic.