CVE-2026-10671 in Zephyrinfo

Zusammenfassung

von VulDB • 14.07.2026

In der Pipe-Implementierung des Zephyr-Kernels verwendete der Userspace-Syscall-Verifier `z_vrfy_k_pipe_init()` in `kernel/pipe.c` `K_SYSCALL_OBJ()`, was voraussetzt, dass das Kernelobjekt bereits initialisiert ist, anstatt `K_SYSCALL_OBJ_NEVER_INIT()` zu verwenden (was ein bereits initialisiertes Objekt ablehnt). Infolgedessen kann bei Builds mit `CONFIG_USERSPACE` ein nicht privilegiertes Benutzer-Thread, dem Zugriff auf ein `k_pipe`-Objekt gewährt wurde, den Syscall `k_pipe_init` aufrufen, um eine Pipe neu zu initialisieren, die bereits in Verwendung ist.

`z_impl_k_pipe_init()` setzt den Ringpuffer bedingungslos zurück, legt `pipe->waiting` auf 0 fest und initialisiert beide Warteschlangen (`wait queues`) erneut (durch Aufruf von `z_waitq_init` für `pipe->data` und `pipe->space`), ohne Threads zu wecken oder solche zu berücksichtigen, die derzeit an der Pipe blockiert sind. Jeder Thread, der bereits in `k_pipe_read()`/`k_pipe_write()` pendend wartet (`pended`), wird zurückgelassen: Er ist weiterhin als „pending" markiert, wobei `pended_on` auf die gelöschte Warteschlange zeigt, und es verbleiben veraltete `qnode_dlist`-Verweise in den (nun neu initialisierten) eingebetteten Listenkopf.

Wenn ein solcher zurückgelassener Warter später abläuft oder geweckt wird, ruft der Scheduler `sys_dlist_remove()` für seinen veralteten Knoten auf und schreibt über hängende (`dangling`) Prev-/Next-Zeiger in Kernel-Warteschlangen/Scheduler-Strukturen. Dies führt zu Listenkorruption (ein durch einen Angreifer gesteuerter ungültiger Kernel-Schreibzugriff), verlorenen Wakeups, unendlich blockierten Threads und stillschweigendem Datenverlust. Der Fehler ermöglicht es einem deprivilegierten Benutzer-Thread, den Zustand eines mit anderen Threads/Partitionen geteilten Kernelobjekts zu beschädigen.

Die Korrektur wechselt den Verifier auf `K_SYSCALL_OBJ_NEVER_INIT()`, was dem bestehenden Verifier für `k_msgq_init` entspricht, sodass ein Benutzer-Thread keine aktive Pipe mehr neu initialisieren kann. Der anfällige Code wurde in v4.1.0 ausgeliefert und blieb bis einschließlich v4.4.0 enthalten.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Zuständig

Zephyr

Reservieren

02.06.2026

Veröffentlichung

14.07.2026

Moderieren

akzeptiert

Eintrag

VDB-378315

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!