Zephyr Project bis 4.4.2 Fifo Streaming Callback adxl345_stream.c adxl345_process_fifo_samples_cb fifo_total_bytes Pufferüberlauf

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
3.9$0-$5k3.93-

Zusammenfassunginfo

Eine Schwachstelle wurde in Zephyr Project Zephyr bis 4.4.2 gefunden. Sie wurde als problematisch eingestuft. Es ist betroffen die Funktion adxl345_process_fifo_samples_cb der Datei drivers/sensor/adi/adxl345/adxl345_stream.c der Komponente Fifo Streaming Callback. Mit der Manipulation des Arguments fifo_total_bytes mit unbekannten Daten kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Die Identifikation der Schwachstelle findet als CVE-2026-79978 statt. Der Angriff ist nur lokal möglich. Es steht kein Exploit zur Verfügung. Es wird geraten, einen Patch zu installieren, um dieses Problem zu lösen.

Detailsinfo

Es wurde eine Schwachstelle in Zephyr Project Zephyr bis 4.4.2 ausgemacht. Sie wurde als problematisch eingestuft. Hiervon betroffen ist die Funktion adxl345_process_fifo_samples_cb der Datei drivers/sensor/adi/adxl345/adxl345_stream.c der Komponente Fifo Streaming Callback. Mit der Manipulation des Arguments fifo_total_bytes mit einer unbekannten Eingabe kann eine Pufferüberlauf-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-787 vorgenommen. Auswirkungen hat dies auf Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

The RTIO streaming completion callback adxl345_process_fifo_samples_cb() in drivers/sensor/adi/adxl345/adxl345_stream.c clamps the amount of FIFO data it will report (read_len = MIN(fifo_bytes, buf_avail)) to the space actually returned by rtio_sqe_rx_buf(), but then queues one 6-byte bus read per hardware FIFO entry at consecutive offsets from read_buf, bounded by the device-reported entry count rather than by the clamp. When the allocated buffer is smaller than a full batch, the driver writes up to 186 bytes past the end of the allocation; a companion defect left data->fifo_total_bytes un-reset at batch start, so an aborted or errored chain could leave a stale write offset that pushes the next batch's writes out of bounds as well. A short buffer is an expected, first-class outcome of the RTIO allocator: rtio_block_pool_alloc() walks the requested size down one block at a time until a contiguous run is available, and the driver only demands sizeof(struct adxl345_fifo_data) + 6 bytes as its minimum. Any streaming configuration whose mempool block granularity is smaller than a full FIFO batch (204 bytes) — for example the sensor shell's RTIO_DEFINE_WITH_MEMPOOL(sensor_read_rtio, 8, 8, 32, 64, 4) used by sensor stream <dev> on fifo_wm incl, or the 16-byte-block streaming example in the documentation — takes this path whenever the pool is fragmented or the consuming thread falls behind. The out-of-bounds writes are performed by the I2C/SPI RTIO backend (DMA on many SoCs) into the shared RTIO block pool, corrupting neighbouring live buffers or, for a pool smaller than one batch, memory beyond the pool itself. The written bytes are accelerometer samples and the destination follows the allocation, so there is no controllable corruption primitive: the realistic impact is silent corruption of other RTIO consumers' data or a crash. Reaching it requires a board with an interrupt-wired ADXL345 built with CONFIG_ADXL345_STREAM, plus buffer-pool starvation, which a co-resident local workload can induce but which also occurs spontaneously under load; there is no network, USB or radio path to this code.

Bereitgestellt wird das Advisory unter github.com. Die Identifikation der Schwachstelle wird seit dem 25.08.2026 mit CVE-2026-79978 vorgenommen. Sie gilt als leicht ausnutzbar. Der Angriff muss lokal erfolgen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt.

Die Schwachstelle lässt sich durch das Einspielen des Patches 3451bb1e1e9165844060551164adb8a756e7b6b7 lösen.

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: 4.0
VulDB Meta Temp Score: 3.9

VulDB Base Score: 4.4
VulDB Temp Score: 4.2
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍

CNA Base Score: 3.6
CNA Vector (zephyr): 🔒

CVSSv2info

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

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

Exploitinginfo

Klasse: Pufferüberlauf
CWE: CWE-787 / 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: Patch
Status: 🔍

0-Day Time: 🔒

Patch: 3451bb1e1e9165844060551164adb8a756e7b6b7

Timelineinfo

25.08.2026 CVE zugewiesen
23.10.2026 +59 Tage Advisory veröffentlicht
23.10.2026 +0 Tage VulDB Eintrag erstellt
23.10.2026 +0 Tage VulDB Eintrag letzte Aktualisierung

Quelleninfo

Advisory: github.com
Status: Bestätigt

CVE: CVE-2026-79978 (🔒)
GCVE (CVE): GCVE-0-2026-79978
GCVE (VulDB): GCVE-100-426021

Eintraginfo

Erstellt: 23.10.2026 22:28
Anpassungen: 23.10.2026 22:28 (68)
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.

Want to stay up to date on a daily basis?

Enable the mail alert feature now!