Zephyr Project bis 4.4.1 Syscall Verifier sockets.c z_vrfy_zsock_sendmsg/z_vrfy_zsock_recvmsg msg_iovlen Race Condition

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
8.4$0-$5k2.38+

Zusammenfassunginfo

In Zephyr Project Zephyr bis 4.4.1 wurde eine Schwachstelle entdeckt. Sie wurde als sehr kritisch eingestuft. Es betrifft die Funktion z_vrfy_zsock_sendmsg/z_vrfy_zsock_recvmsg der Datei subsys/net/lib/sockets/sockets.c der Komponente Syscall Verifier. Mittels Manipulieren des Arguments msg_iovlen mit unbekannten Daten kann eine Race Condition-Schwachstelle ausgenutzt werden. Diese Schwachstelle wird als CVE-2026-12234 gehandelt. Der Angriff muss lokal erfolgen. Es ist kein Exploit verfügbar.

Detailsinfo

Eine Schwachstelle wurde in Zephyr Project Zephyr bis 4.4.1 ausgemacht. Sie wurde als sehr kritisch eingestuft. Davon betroffen ist die Funktion z_vrfy_zsock_sendmsg/z_vrfy_zsock_recvmsg der Datei subsys/net/lib/sockets/sockets.c der Komponente Syscall Verifier. Durch das Beeinflussen des Arguments msg_iovlen mit einer unbekannten Eingabe kann eine Race Condition-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-367. Auswirkungen hat dies auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

The userspace syscall verifiers z_vrfy_zsock_sendmsg() and z_vrfy_zsock_recvmsg() in subsys/net/lib/sockets/sockets.c snapshot the caller-supplied struct net_msghdr into a kernel-side copy with k_usermode_from_copy(), but then re-read the still-live user struct for subsequent decisions. The kernel iovec shadow buffer is sized from one read of msg->msg_iovlen, while the population loop is bounded by a second, live read of the same field. Because msg points into ordinary user memory, a cooperating second thread in the same memory domain can inflate msg->msg_iovlen in the window between the sizing read and the loop test (a classic double-fetch / TOCTOU). The population loop then iterates past the number of net_iovec slots actually allocated, writing attacker-influenced iov_base/iov_len values beyond the end of the kernel-heap shadow buffer. The recvmsg verifier has the same defect on both its inbound and result write-back loops. The code is reachable from an unprivileged user thread whenever CONFIG_USERSPACE is enabled and the zsock_sendmsg/zsock_recvmsg syscalls are available. A successful race corrupts kernel-managed heap memory across the user-to-kernel privilege boundary, yielding a local privilege-escalation primitive or, at minimum, a kernel-fault denial of service. The fix copies the header once and derives every size, bound, and gate from the snapshot, copying each iovec entry atomically so its base and length can no longer be raced apart.

Bereitgestellt wird das Advisory unter github.com. Die Verwundbarkeit wird seit dem 15.06.2026 mit der eindeutigen Identifikation CVE-2026-12234 gehandelt. Die Ausnutzbarkeit gilt als leicht. Umgesetzt werden muss der Angriff lokal. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. Ein Exploit zur Schwachstelle wird momentan etwa USD $0-$5k kosten (Preisberechnung vom 12.08.2026).

Ein Aktualisieren auf die Version 4.4.2 vermag dieses Problem zu lösen.

Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von EUVD (EUVD-2026-57069) dokumentiert. If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Produktinfo

Typ

Hersteller

Name

Version

CPE 2.3info

CPE 2.2info

CVSSv4info

VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 8.8
VulDB Meta Temp Score: 8.4

VulDB Base Score: 8.8
VulDB Temp Score: 8.4
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CVSSv2info

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

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

Exploitinginfo

Klasse: Race Condition
CWE: CWE-367 / CWE-362
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: Zephyr 4.4.2

Timelineinfo

15.06.2026 CVE zugewiesen
12.08.2026 +58 Tage Advisory veröffentlicht
12.08.2026 +0 Tage VulDB Eintrag erstellt
12.08.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Advisory: github.com
Status: Bestätigt

CVE: CVE-2026-12234 (🔒)
GCVE (CVE): GCVE-0-2026-12234
GCVE (VulDB): GCVE-100-388925
EUVD: 🔒

Eintraginfo

Erstellt: 12.08.2026 07:17
Aktualisierung: 12.08.2026 09:04
Anpassungen: 12.08.2026 07:17 (59), 12.08.2026 09:04 (1)
Komplett: 🔍
Cache ID: 216::103

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

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!