Linux Kernel bis 6.12.114/6.18.59/7.2.13 io_uring io_waitid_remove_wq head/refs Pufferüberlauf

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
7.8$0-$5k0.41+

Zusammenfassunginfo

Es wurde eine sehr kritische Schwachstelle in Linux Kernel bis 6.12.114/6.18.59/7.2.13 ausgemacht. Hierbei geht es um die Funktion io_waitid_remove_wq der Komponente io_uring. Durch Beeinflussen des Arguments head/refs mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Diese Verwundbarkeit ist als CVE-2026-99231 gelistet. Die Umsetzung des Angriffs hat dabei lokal zu erfolgen. Es existiert kein Exploit. Ein Upgrade der betroffenen Komponente wird empfohlen.

Detailsinfo

In Linux Kernel bis 6.12.114/6.18.59/7.2.13 wurde eine Schwachstelle gefunden. Sie wurde als sehr kritisch eingestuft. Betroffen ist die Funktion io_waitid_remove_wq der Komponente io_uring. Mittels dem Manipulieren des Arguments head/refs mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-416. Die Auswirkungen sind bekannt für Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

In the Linux kernel, the following vulnerability has been resolved: io_uring/waitid: own the request before clearing ->head io_waitid_remove_wq() only takes the wait queue lock if ->head is set. io_waitid_wait() clears ->head first thing, before it tries to become the owner of the request by bumping ->refs. If somebody else owns the request at that point, nothing keeps it from completing the request while the wake up handler is still going to touch it: CPU0 (io_waitid_wait) CPU1 (io_waitid, holds a ref) list_del_init(&wait->entry) smp_store_release(&iw->head, NULL) __do_wait() finds another child io_waitid_remove_wq() // ->head == NULL, no locking io_waitid_finish(), IOU_COMPLETE // request freed and reused atomic_fetch_inc(&iw->refs) The same goes for __io_waitid_cancel() if it claims the request in that window. ->refs is part of the per opcode data of the request, so this increments whatever the next user of the request keeps there. If that happens to be zero, the handler concludes that it owns the request, and queues io_waitid_cb() for it. With the window held open by a delay, and the request reused for a receive that is waiting for data: BUG: KASAN: slab-use-after-free in __wake_up_common+0x1ca/0x1f0 __wake_up_sync_key+0x36/0x50 sock_def_readable+0xf1/0x420 unix_stream_sendmsg+0x60b/0x1110 Allocated by task 87: io_arm_apoll+0x1ed/0x940 Freed by task 87: __io_submit_flush_completions+0x118d/0x1a10 tctx_task_work_run+0x327/0x950 Only clear ->head once the handler owns the request. If it doesn't, the owner finds ->head set and has to wait for the lock, which is held by the caller of the handler. Deleting the already deleted entry again is harmless.

Das Advisory findet sich auf git.kernel.org. Die Verwundbarkeit wird seit dem 25.09.2026 als CVE-2026-99231 geführt. Sie ist leicht ausnutzbar. Der Angriff muss lokal angegangen werden. Das Ausnutzen erfordert eine erweiterte Authentisierung. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Die Beschaffenheit der Schwachstelle lässt vermuten, dass ein Exploit momentan zu etwa USD $0-$5k gehandelt werden wird (Preisberechnung vom 02.11.2026).

Ein Aktualisieren auf die Version 6.12.115, 6.18.60 oder 7.2.14 vermag dieses Problem zu lösen. Die Schwachstelle lässt sich auch durch das Einspielen des Patches bf01da1a9cca4a54e5c30b8344e52c26afb87be7/8381a912c65b8de16e8a848225c7c5a56b6ea834/c10ad2813e15186fb51b37a4d17fafddc99e89a5 lösen. Als bestmögliche Massnahme wird das Upgrade auf eine neue Version empfohlen.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

Webseite

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 8.0
VulDB Meta Temp Score: 7.8

VulDB Base Score: 8.2
VulDB Temp Score: 7.8
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CNA Base Score: 7.8
CNA Vector (Linux): 🔒

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍

Exploitinginfo

Klasse: Pufferüberlauf
CWE: CWE-416 / CWE-119
CAPEC: 🔒
ATT&CK: 🔒

Physisch: Teilweise
Lokal: Ja
Remote: Nein

Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Upgrade
Status: 🔍

0-Day Time: 🔒

Upgrade: Kernel 6.12.115/6.18.60/7.2.14
Patch: bf01da1a9cca4a54e5c30b8344e52c26afb87be7/8381a912c65b8de16e8a848225c7c5a56b6ea834/c10ad2813e15186fb51b37a4d17fafddc99e89a5

Timelineinfo

25.09.2026 CVE zugewiesen
02.11.2026 +38 Tage Advisory veröffentlicht
02.11.2026 +0 Tage VulDB Eintrag erstellt
02.11.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Hersteller: kernel.org

Advisory: git.kernel.org
Status: Bestätigt

CNA: Linux
CVE: CVE-2026-99231 (🔒)

GCVE (CVE): GCVE-0-2026-99231
GCVE (VulDB): GCVE-100-429907

Eintraginfo

Erstellt: 02.11.2026 17:24
Anpassungen: 02.11.2026 17:24 (69)
Komplett: 🔍
Cache ID: 216::103

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Do you know our Splunk app?

Download it now for free!