ZephyrProject Zephyr bis 4.4.1 I3C IBI subsystem i3c_ibi_workq.c i3c_ibi_work_handler Pufferüberlauf
| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 3.7 | $0-$5k | 0.57+ |
Zusammenfassung
In ZephyrProject Zephyr bis 4.4.1 wurde eine problematische Schwachstelle entdeckt. Davon betroffen ist die Funktion i3c_ibi_work_handler der Datei drivers/i3c/i3c_ibi_workq.c der Komponente I3C IBI subsystem. Mittels dem Manipulieren mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden.
Diese Schwachstelle trägt die Bezeichnung CVE-2026-14367. Umgesetzt werden muss der Angriff lokal. Es gibt keinen verfügbaren Exploit.
Details
In ZephyrProject Zephyr bis 4.4.1 wurde eine problematische Schwachstelle gefunden. Dabei geht es um die Funktion i3c_ibi_work_handler der Datei drivers/i3c/i3c_ibi_workq.c der Komponente I3C IBI subsystem. Dank der Manipulation mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-119. Das hat Auswirkungen auf Integrität und Verfügbarkeit. CVE fasst zusammen:
The I3C IBI subsystem in drivers/i3c/i3c_ibi_workq.c hands out statically-allocated work nodes through a free-list i3c_ibi_work_nodes_free implemented as a plain sys_slist_t, which provides no synchronization. The allocation helpers (i3c_ibi_work_enqueue, i3c_ibi_work_enqueue_target_irq, i3c_ibi_work_enqueue_hotjoin, i3c_ibi_work_enqueue_controller_request, i3c_ibi_work_enqueue_cb) called sys_slist_get() directly from ISR context, while the workqueue handler i3c_ibi_work_handler() returned nodes with sys_slist_append() from the workqueue thread, with no lock on either side.
Because sys_slist_get() and sys_slist_append() are neither atomic nor interrupt-safe, an IBI interrupt that fires while the workqueue thread is mid-append (or a truly parallel access under CONFIG_SMP) races on the shared list. This corrupts the list linkage: a node may be handed to two consumers, a node may be lost, or the head/tail pointers may be left inconsistent so sys_slist_get() returns a stale or garbage pointer. In the double-hand-out case the subsequent memcpy(ibi_node, ibi_work, sizeof(*ibi_node)) overwrites a node still in flight; a garbage pointer turns the same memcpy into an out-of-bounds write.
The race is driven by I3C bus traffic — IBIs, hot-joins, and controller-role requests originate from target devices on the bus, and I3C supports hot-joining devices. An attacker controlling an I3C peripheral on the board's chip-to-chip bus can generate high-frequency interrupts timed to collide with the free operation. Exploitation requires physical access to the bus and winning a narrow timing window; the most realistic impact is a crash or hang (denial of service), with memory corruption possible but hard to control.
The fix wraps all free-list sys_slist_get()/sys_slist_append() operations in the new ibi_work_alloc()/ibi_work_free() helpers, each guarded by a k_spinlock (ibi_work_lock), closing the race across ISR and thread contexts.Das Advisory kann von github.com heruntergeladen werden. Eine eindeutige Identifikation der Schwachstelle wird seit dem 01.07.2026 mit CVE-2026-14367 vorgenommen. Das Ausnutzen gilt als leicht. Die Umsetzung des Angriffs hat dabei lokal zu erfolgen. Technische Details sind bekannt, ein verfügbarer Exploit hingegen nicht.
Ein Upgrade auf die Version 4.4.2 vermag dieses Problem zu beheben. Die Schwachstelle lässt sich auch durch das Einspielen des Patches e87e7e2ac7c5ded0af3fb5934518cc5688e458cc beheben.
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Produkt
Typ
Hersteller
Name
Version
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 3.8VulDB Meta Temp Score: 3.7
VulDB Base Score: 4.4
VulDB Temp Score: 4.2
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
CNA Base Score: 3.1
CNA Vector (zephyr): 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: PufferüberlaufCWE: CWE-119
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Ja
Lokal: Ja
Remote: Nein
Verfügbarkeit: 🔒
Status: Nicht definiert
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: Zephyr 4.4.2
Patch: e87e7e2ac7c5ded0af3fb5934518cc5688e458cc
Timeline
01.07.2026 CVE zugewiesen31.08.2026 Advisory veröffentlicht
31.08.2026 VulDB Eintrag erstellt
31.08.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Advisory: github.comStatus: Bestätigt
CVE: CVE-2026-14367 (🔒)
GCVE (CVE): GCVE-0-2026-14367
GCVE (VulDB): GCVE-100-397408
Eintrag
Erstellt: 31.08.2026 20:37Anpassungen: 31.08.2026 20:37 (68)
Komplett: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.