Linux Kernel: Use-After-Free (CVE-2026-97595)
Veröffentlicht Zuletzt geändert Quellen: Debian, CVE.org, Msrc Update Guide, BSI
Was ist betroffen, was ist zu tun
Aktualisieren Sie Linux Kernel auf Version 6.6.158, Linux Kernel auf Version 6.12.111, Linux Kernel auf Version 6.18.53.
- Betroffen
- Linux Kernel
lt 6.3..6.6.158 - Linux Kernel
lt 6.7..6.12.111 - Linux Kernel
lt 6.13..6.18.53 - Linux Kernel
lt 6.19..7.2.7
- Linux Kernel
- Behoben in
- Linux Kernel
6.6.158 - Linux Kernel
6.12.111 - Linux Kernel
6.18.53 - Linux Kernel
7.2.7 - Linux Kernel
7.3
- Linux Kernel
Unklar, ob und wie Sie betroffen sind? Frage zu dieser Schwachstelle stellen
Metriken
7,5
Priorität
XIEM Effective CVSS: höchste verfügbare CVSS-Bewertung aus NVD- und Herstellerangaben.
Quelle: Hersteller (CNA), CVSS v3
7,5
CVSS v3
Schweregrad Hoch auf der Skala von 0 bis 10.
Quelle: Debian, CVE.org, Msrc Update Guide, BSI
0,3 %
EPSS-Score
Niedrig – Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
Quelle: FIRST EPSS, Perzentil 19,7
Alle Metriken anzeigen
- Schweregrad
- Hoch
Priorität (0–325)
Der Priorisierungs-Score ist eine zusammengeführte Kennzahl, die mehrere Einzelsignale zu einer einzigen, handlungsleitenden Rangfolge verdichtet: technische Schwere (CVSS), Ausnutzungswahrscheinlichkeit (EPSS), der Status als bekannt ausgenutzt (KEV) und der Kontext des betroffenen Assets. Ziel ist die Antwort auf die einzig wirklich wichtige Frage im Schwachstellenmanagement: Was zuerst?
Im Glossar lesen- 70.59 Methodik
Exploit-Reife
Ein Exploit ist Code oder eine Technik, die eine konkrete Schwachstelle gezielt ausnutzt, um ein unbeabsichtigtes Verhalten zu erzwingen — etwa Code auszuführen oder Rechte auszuweiten. Er ist das Werkzeug, das aus einer theoretischen Lücke einen praktischen Angriff macht.
Im Glossar lesen- kein öffentlicher PoC bekannt
XIEM Effective CVSS
XIEM® ist das gestufte Managed-Security-Betriebsmodell von NEOSEC und eine eingetragene Marke der NEOSEC GmbH. Es erweitert klassisches SIEM — die zentrale Sammlung, Normalisierung und Korrelation sicherheitsrelevanter Ereignisse — um Endpunkt-Forensik, Netzwerk-Sichtbarkeit und Täuschungstechnik und führt diese zu drei aufeinander aufbauenden Stufen zusammen: Sentry, Orchestrate und Command.
Im Glossar lesen- 7,5 Methodik
CVSS v3
CVSS ist der weltweit verbreitete, offene Standard zur Bewertung der technischen Schwere einer Schwachstelle auf einer Skala von 0 bis 10. Er beschreibt, wie leicht eine Lücke ausnutzbar ist und welchen Schaden sie anrichten kann — nicht jedoch, wie wahrscheinlich ihre tatsächliche Ausnutzung ist. CVSS und das ergänzende EPSS beantworten bewusst unterschiedliche Fragen.
Im Glossar lesen- 7,5
EPSS-Score
Der EPSS-Score ist der absolute Modell-Output für eine einzelne Schwachstelle: die geschätzte Wahrscheinlichkeit einer realen Ausnutzung in den nächsten 30 Tagen, ausgedrückt als Wert zwischen 0 und 1 (bzw. 0 % bis 100 %). Ein Score von 0,42 bedeutet „das Modell schätzt eine 42-prozentige Chance auf reale Ausnutzung binnen 30 Tagen“.
Im Glossar lesen- 0,3 %
- Niedrig – Modell schätzt < 1 % Ausnutzungs-Wahrscheinlichkeit.
EPSS-Perzentil
Das EPSS-Perzentil ist die relative Einordnung einer Schwachstelle innerhalb aller EPSS-bewerteten CVEs, ausgedrückt als Wert zwischen 0 und 1. Ein Perzentil von 0,90 bedeutet „diese CVE hat einen höheren EPSS-Score als 90 % aller anderen bewerteten CVEs“. Anders als der EPSS-Score ist es keine Wahrscheinlichkeit — sondern eine Positionierung im Ranking.
Im Glossar lesen- 19,7
- Erhöht – CVE ist relevanter als mindestens 10 % der heute bewerteten CVEs.
KEV-Status
Der KEV-Katalog ist eine von der US-Behörde CISA gepflegte Liste von Schwachstellen, für die eine aktive Ausnutzung in der Praxis nachgewiesen ist. Er beantwortet nicht die Frage „wie schwer?“, sondern „wird es bereits angegriffen?“ — und priorisiert damit das Patchen scharf.
Im Glossar lesen- —
- Veröffentlicht
Erkennungsregeln
Für diese Schwachstelle liegt noch keine NEOSEC-Erkennungsregel vor.
Einordnung nach NIS2 und CRA
Regelbasierte Einordnung aus Ausnutzungsstatus und Schweregrad. Sie ersetzt keine Prüfung im Einzelfall.
NIS2
NIS2 ist die EU-Richtlinie (EU) 2022/2555 zur Erhöhung des Cybersicherheitsniveaus in der Union. Sie weitet Pflichten gegenüber der ersten NIS-Richtlinie deutlich aus: mehr Sektoren, verbindliches Risikomanagement, gestufte Meldepflichten und persönliche Verantwortung der Geschäftsleitung.
Im Glossar lesen- Hohe technische Schwere: Bewerten und beheben Sie die Schwachstelle im Schwachstellenmanagement nach Art. 21 Abs. 2 lit. e NIS2 und dokumentieren Sie die Entscheidung.
CRA
Der CRA ist die EU-Verordnung (EU) 2024/2847 mit horizontalen Cybersicherheitsanforderungen an „Produkte mit digitalen Elementen“ — von Industriesteuerungen über Software bis zu vernetzten Verbrauchergeräten. Erstmals müssen Hersteller Sicherheit über den gesamten Produktlebenszyklus gewährleisten, Schwachstellen behandeln und Sicherheitsupdates bereitstellen.
Im Glossar lesen- Ab dem 11.12.2027 verpflichtet Anhang I Teil II CRA Hersteller betroffener Produkte mit digitalen Elementen, Schwachstellen unverzüglich zu behandeln und Sicherheitsupdates bereitzustellen.
ISO/IEC 27001
ISO/IEC 27001 ist der international führende Standard für ein Informationssicherheits-Managementsystem (ISMS). Er beschreibt einen risikobasierten, prozessorientierten Rahmen, um Informationssicherheit systematisch zu planen, umzusetzen, zu überprüfen und zu verbessern.
Im Glossar lesen- Maßnahme A.8.8, Management technischer Schwachstellen: Relevanz für Ihre Systeme bewerten, Behebung einplanen und nachweisen.
Beschreibung
Im Linux-Kernel wurde folgende Schwachstelle behoben:
mac802154: Behebung der Use-After-Free von sdata über eingehende RX-Frames
Der RX-Softirq-Produzent ieee802154_subif_frame() fügt empfangene Beacon- und MAC-Befehlsframes in die lokalen Listen local->rx_beacon_list / rx_mac_cmd_list ein und plant einen Prozesskontext-Arbeiter, der einen rohen mac_pkt->sdata (und skb->dev == sdata->dev) speichert, ohne dabei eine Referenz oder Sperre zu verwenden:
-
Die Listen sind nicht gesperrt: Der Softirq-Produzent list_add_tail() während der mac_wq-Arbeiter list_del() verwendet, sodass benachbarte Schnittstellen auf demselben phy die Liste beschädigen;
-
Die Arbeiter entreferenzieren die Schnittstelle, nachdem sie möglicherweise freigegeben wurde. mac802154_rx_mac_cmd_worker() greift direkt auf mac_pkt->sdata zu, und mac802154_rx_beacon_worker() -> mac802154_process_beacon() entreferenziert skb->dev (== sdata->dev). Das Entfernen einer Schnittstelle gibt ihr sdata (netdev_priv) frei, während ein eingehängter Frame immer noch darauf zeigt, sodass ein späterer Arbeiterlauf eine Use-After-Free darstellt.
Reproduziert unter KASAN durch Fluten einer Opferschnittstelle mit MAC-Befehlsframes und deren Entfernung (der Beacon-Pfad ist über skb->dev derselbe):
BUG: KASAN: slab-use-after-free in mac802154_rx_mac_cmd_worker+0x463/0x630 [mac802154] Lesen der Größe 4 an der Adresse ffff888002f9ea18 durch die Aufgabe kworker/u8:1/31 Arbeitswarteschlange: phy0-mac-cmds mac802154_rx_mac_cmd_worker [mac802154] Aufrufverfolgung: mac802154_rx_mac_cmd_worker+0x463/0x630 [mac802154] process_one_work+0x611/0xe80 worker_thread+0x52e/0xdc0 kthread+0x30c/0x630 ret_from_fork+0x2fd/0x3e0
Beide Listen zusammen beheben:
-
Fügen Sie local->rx_lock hinzu und nehmen Sie es um jeden Listenzugriff: der Softirq-Produzent (einfache spin_lock, Softirq-Kontext) und die Arbeiter und den Flush (spin_lock_bh, Prozesskontext);
-
Fixieren Sie die Schnittstelle für die Lebensdauer eines eingehängten Frames mit netdev_hold()/netdev_put(), sodass der Arbeiter sdata / skb->dev sicher entreferenzieren kann, auch wenn die Schnittstelle entfernt wird;
-
Entfernen Sie unter der Sperre an der Spitze und leeren Sie die gesamte Liste in den Arbeitern (sie verarbeiteten zuvor pro Lauf einen Frame und verließen sich auf eine spätere Einfügung, um den Rest zu entleeren);
-
Löschen Sie Frames, die noch nicht gestartet wurden, einer Schnittstelle, bevor sie abgemeldet wird, aus ieee802154_if_remove() (nach der RCU-Grace-Periode) und aus der Schleife ieee802154_remove_interfaces() -- der letztere ist der gesamte-phy-Aufräumweg, der nicht über ieee802154_if_remove() geht.
Ein in der Luft befindlicher Arbeiter, der bereits einen Frame entdeckt hat, behält seine eigene netdev-Referenz; unregister_netdevice() wartet dann darauf in netdev_run_todo(), das bei rtnl_unlock() (rtnl freigegeben) und nachdem die Schnittstelle geschlossen wurde, ausgeführt wird, sodass es nicht rtnl festlegt. Ein Arbeiter, der in einer Assoziations-Übertragung blockiert ist, verzögert nur die Abmeldung dieser einen Schnittstelle (die übliche "Warten auf %s, um frei zu werden"), hält jedoch nicht rtnl. netdev_hold() wird aus diesem Grund anstelle einer cancel_work_sync() unter rtnl verwendet, die auf den ungebundenen MLME-Übertragungswartezustand des Arbeiters über ieee802154_sync_queue() blockieren würde.
Der mac-Befehlsarbeiter überspringt zusätzlich die Verarbeitung für eine gestoppte Schnittstelle (ieee802154_sdata_running()), um eine unnötige Assoziationsantwort während des Aufräumens zu vermeiden.
Quelle: Debian Security Advisories, cvelistv5, Microsoft Security Update Guide, NVD (NIST), BSI WID Portal, BSI CSAF
Betroffene Produkte
Betroffen sind die folgenden Versionen. Ältere Stände derselben Reihe sind ebenfalls verwundbar, sofern nicht anders angegeben.
| Hersteller | Produkt | Betroffene Versionen | Behoben in |
|---|---|---|---|
| Linux | Linux |
|
|
Betroffene Betriebssysteme
| Familie | Hersteller | Produkt | Version |
|---|---|---|---|
| Linux | debian | linux | trixie |
Quellen & Referenzen
- git.kernel.orgstable/c/4740ef0518c5e3bf31ebfb2288a6ac3b462ead06
- git.kernel.orgstable/c/07f0214018d7241e3610c1be984c8abfce16c099
- git.kernel.orgstable/c/3d1fde35f95d7f02a7dc473c51d81e8d9e992cfc
- git.kernel.orgstable/c/2f37fba846c9fdff5fc15b6d93656057ccd13031
- git.kernel.orgstable/c/4826fd8373f684f9952536333ad45b26acd3455d
Re-Analyse & Statuswechsel
Chronologie der NVD-Audit-Events für diese CVE – Reanalyses, CVSS-Updates, CPE-Diffs.
CVE Modified416baaa9-dc9f-4396-8d5f-8c081fb06d67
- Affected: nachher Affected value modified. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/97xxx/CVE-2026-97595.json">CVE-2026-97595</a>
CVE Modified416baaa9-dc9f-4396-8d5f-8c081fb06d67
- Affected: nachher Affected value modified. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/97xxx/CVE-2026-97595.json">CVE-2026-97595</a>
- Reference: nachher https://git.kernel.org/stable/c/4826fd8373f684f9952536333ad45b26acd3455d
CVE Modified416baaa9-dc9f-4396-8d5f-8c081fb06d67
- CVSS V3.1: nachher AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
New CVE Received416baaa9-dc9f-4396-8d5f-8c081fb06d67
- Description: nachher In the Linux kernel, the following vulnerability has been resolved: mac802154: fix use-after-free of sdata via queued RX frames The RX softirq producer ieee802154_subif_frame() queues received beacon and MAC-command frames onto local->rx_beacon_list / rx_mac_cmd_list and schedules a process-context worker, storing a raw mac_pkt->sdata (and skb->dev == sdata->dev) with neither a reference nor any locking: - the lists have no lock: the softirq producer list_add_tail()s while the mac_wq worker list_del()s, so sibling interfaces on the same phy corrupt the list; - the workers dereference the interface after it may have been freed. mac802154_rx_mac_cmd_worker() touches mac_pkt->sdata directly, and mac802154_rx_beacon_worker() -> mac802154_process_beacon() dereferences skb->dev (== sdata->dev). Removing an interface frees its sdata (netdev_priv) while a queued frame still points at it, so a later worker run is a use-after-free. Reproduced under KASAN by flooding a victim interface with MAC command frames and removing it (the beacon path is the same class via skb->dev): BUG: KASAN: slab-use-after-free in mac802154_rx_mac_cmd_worker+0x463/0x630 [mac802154] Read of size 4 at addr ffff888002f9ea18 by task kworker/u8:1/31 Workqueue: phy0-mac-cmds mac802154_rx_mac_cmd_worker [mac802154] Call Trace: mac802154_rx_mac_cmd_worker+0x463/0x630 [mac802154] process_one_work+0x611/0xe80 worker_thread+0x52e/0xdc0 kthread+0x30c/0x630 ret_from_fork+0x2fd/0x3e0 Fix both lists together: - add local->rx_lock and take it around every list access: the softirq producer (plain spin_lock, softirq context) and the workers and flush (spin_lock_bh, process context); - pin the interface for the lifetime of a queued frame with netdev_hold()/netdev_put(), so the worker can safely dereference sdata / skb->dev even while the interface is being removed; - dequeue under the lock at the head and loop-drain the whole list in the workers (they previously processed one frame per run and relied on a later enqueue to drain the rest); - drop not-yet-started frames of an interface before it is unregistered, from ieee802154_if_remove() (after the RCU grace period) and from the ieee802154_remove_interfaces() loop -- the latter is the whole-phy teardown path, which does not go through ieee802154_if_remove(). An in-flight worker that already dequeued a frame keeps its own netdev reference; unregister_netdevice() then waits it out in netdev_run_todo(), which runs at rtnl_unlock() (rtnl released) and after the interface has been closed, so it does not pin rtnl. A worker blocked in an association TX only delays that one interface's unregister (the usual "waiting for %s to become free"), it does not hold rtnl. netdev_hold() is used for this reason instead of a cancel_work_sync() under rtnl, which would block on the worker's unbounded MLME TX wait via ieee802154_sync_queue(). The mac-command worker additionally skips processing for a stopped interface (ieee802154_sdata_running()), avoiding a needless association response during teardown.
- Affected: nachher New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/97xxx/CVE-2026-97595.json">CVE-2026-97595</a>
- Reference: nachher https://git.kernel.org/stable/c/07f0214018d7241e3610c1be984c8abfce16c099
- Reference: nachher https://git.kernel.org/stable/c/2f37fba846c9fdff5fc15b6d93656057ccd13031
Badge einbetten
Zeigen Sie Schweregrad und KEV-Status dieser Schwachstelle auf Ihrer Seite – mit Link hierher. Das Bild wird stündlich aktualisiert.
<a href="https://intel.neosec.eu/cve/CVE-2026-97595"><img src="https://intel.neosec.eu/badge/cve/CVE-2026-97595.svg" alt="CVE-2026-97595 – NEOSEC Intel" height="20"></a>