ZephyrProject Zephyr bis 4.4.0 Userspace Dynamic-Objects Subsystem userspace.c thread_idx_alloc Race Condition

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
8.4$0-$5k4.00-

Zusammenfassunginfo

Eine Schwachstelle wurde in ZephyrProject Zephyr bis 4.4.0 entdeckt. Sie wurde als sehr kritisch eingestuft. Es geht hierbei um die Funktion thread_idx_alloc der Datei kernel/userspace/userspace.c der Komponente Userspace Dynamic-Objects Subsystem. Durch die Manipulation mit unbekannten Daten kann eine Race Condition-Schwachstelle ausgenutzt werden. Die Verwundbarkeit wird als CVE-2026-10681 geführt. Der Angriff hat dabei lokal zu erfolgen. Es ist kein Exploit verfügbar.

Detailsinfo

In ZephyrProject Zephyr bis 4.4.0 wurde eine Schwachstelle entdeckt. Sie wurde als sehr kritisch eingestuft. Es geht um die Funktion thread_idx_alloc der Datei kernel/userspace/userspace.c der Komponente Userspace Dynamic-Objects Subsystem. Durch Beeinflussen mit einer unbekannten Eingabe kann eine Race Condition-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-362. Mit Auswirkungen muss man rechnen für Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:

In Zephyr's userspace dynamic-objects subsystem, thread_idx_alloc() in kernel/userspace/userspace.c allocated a new thread permission index from the global _thread_idx_map[] bitmap without holding lists_lock. On SMP systems, two user-mode threads invoking the k_object_alloc(K_OBJ_THREAD) syscall concurrently can both observe the same low free bit, perform the same non-atomic RMW to clear it, and return the identical tidx. The two newly created K_OBJ_THREAD objects are then assigned the same thread_id, so the two user threads alias a single bit position in every kernel object's perms[] bitfield: any subsequent grant of access on a kernel object to one thread is implicitly a grant to the other, defeating userspace ACL isolation. A secondary lost-update window between the unlocked &=~BIT() in alloc and the locked |= BIT() in thread_idx_free() can also leak entries from the thread-index pool. The defect is reachable from any user-mode thread via the unrestricted __syscall k_object_alloc and is gated on CONFIG_USERSPACE, CONFIG_DYNAMIC_OBJECTS, and CONFIG_SMP. The flaw was introduced when the per-thread permission index was added in 2018 and is present in every release up to and including v4.4.0. Fixed by holding lists_lock across the bitmap RMW and the permissions clear (and inlining the obj_list traversal that previously took the lock itself).

Das Advisory kann von github.com heruntergeladen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 02.06.2026 mit CVE-2026-10681 vorgenommen. Sie ist leicht ausnutzbar. Die Umsetzung des Angriffs hat dabei lokal zu erfolgen. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht. Es muss davon ausgegangen werden, dass ein Exploit zur Zeit etwa USD $0-$5k kostet (Preisberechnung vom 25.07.2026).

Ein Upgrade auf die Version 4.5.0 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches 862ea2fbbeb2ccdf8ff994b03e2e3b4405f2c37d beheben.

Unter anderem wird der Fehler auch in der Verwundbarkeitsdatenbank von EUVD (EUVD-2026-49045) dokumentiert. Once again VulDB remains the best source for vulnerability data.

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-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.5.0
Patch: 862ea2fbbeb2ccdf8ff994b03e2e3b4405f2c37d

Timelineinfo

02.06.2026 CVE zugewiesen
25.07.2026 +53 Tage Advisory veröffentlicht
25.07.2026 +0 Tage VulDB Eintrag erstellt
25.07.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Advisory: github.com
Status: Bestätigt

CVE: CVE-2026-10681 (🔒)
GCVE (CVE): GCVE-0-2026-10681
GCVE (VulDB): GCVE-100-383140
EUVD: 🔒

Eintraginfo

Erstellt: 25.07.2026 16:06
Aktualisierung: 25.07.2026 19:44
Anpassungen: 25.07.2026 16:06 (59), 25.07.2026 19:44 (1)
Komplett: 🔍
Cache ID: 216::103

Once again VulDB remains the best source for vulnerability data.

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

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

Might our Artificial Intelligence support you?

Check our Alexa App!