Zum Inhalt springen
← Zurück zum Cyberlagebild
Zuletzt aktualisiert 23.10.2026 20:20

CVE-2026-79978

CVSS 3.61 Quelle

Beschreibung

Der RTIO-Streaming-Abschlussaufruf adxl345 process fifo samples cb() in drivers/sensor/adi/adxl345/adxl345 stream.c klemmt die Menge an FIFO-Daten, die er melden wird (read len = MIN(fifo bytes, buf avail)) an den Raum, der tatsächlich von rtio sqe rx buf() zurückgegeben wird, aber dann einen 6-Byte-Bus, der pro Hardware-FIFO-Eintrag gelesen wird, an aufeinanderfolgenden Offsets von read buf, begrenzt durch die vom Gerät gemeldete Eintragszahl und nicht durch die Klemme. Wenn der zugewiesene Puffer kleiner als ein voller Batch ist, schreibt der Treiber bis zu 186 Bytes nach dem Ende der Zuweisung; ein Begleiterfehler ließ data->fifo total bytes beim Batchstart un-reset, so dass eine abgebrochene oder fehlerhafte Kette einen veralteten Schreibversatz hinterlassen könnte, der auch die Schreibvorgänge des nächsten Batches aus den Grenzen schiebt. Ein kurzer Puffer ist ein erwartetes, erstklassiges Ergebnis des RTIO-Zuweisers: rtio block pool alloc() führt die angeforderte Größe jeweils einen Block nach unten, bis ein zusammenhängender Lauf verfügbar ist, und der Treiber fordert nur sizeof(struct adxl345 fifo data) + 6 Bytes als Minimum. Jede Streaming-Konfiguration, deren Mempool-Block-Granularität kleiner ist als eine vollständige FIFO-Charge (204 Bytes) - zum Beispiel der RTIO DEFINE WITH MEMPOOL (sensor read rtio, 8, 8, 32, 64, 4), der vom Sensorstream auf fifo wm incl verwendet wird, oder das 16-Byte-Block-Streaming-Beispiel in der Dokumentation - nimmt diesen Pfad, wenn der Pool fragmentiert ist oder der Verbrauchsfaden zurückfällt. Die Out-of-bounds-Schreiben werden vom I2C/SPI RTIO-Backend (DMA auf vielen SoCs) in den gemeinsamen RTIO-Blockpool ausgeführt, wodurch benachbarte Live-Buffer oder für einen Pool, der kleiner als ein Batch ist, Speicher außerhalb des Pools selbst beschädigt werden. Die geschriebenen Bytes sind Beschleunigungsmesser-Proben und das Ziel folgt der Zuweisung, so dass es keine kontrollierbare Korruptionsprimitive gibt: Die realistische Auswirkung ist eine stille Korruption der Daten anderer RTIO-Konsumenten oder ein Absturz. Um es zu erreichen, ist eine Platine mit einer unterbrechungsverdrahteten ADXL345 erforderlich, die mit CONFIG ADXL345 STREAM gebaut wurde, plus Pufferpool-Hunger, den eine lokale Arbeitslast eines Mitbewohners auslösen kann, die jedoch auch spontan unter Last auftritt; Es gibt kein Netzwerk, USB oder Funkpfad zu diesem Code.

Hersteller–
Produkt–
ProduktfamilieKeine Angaben
Betroffene VersionenKeine Angaben
Behobene VersionenKeine Angaben

Quellen & weiterführende Informationen

Hier werden ausschließlich tatsächlich zu dieser Schwachstelle gespeicherte Quellenbelege angezeigt.

Was ist zur Behebung zu tun?

Herstellerhinweise prüfen und das betroffene Produkt kurzfristig patchen oder kompensierende Schutzmaßnahmen aktivieren.

PrioritätGrün
EinordnungPlanbar behandeln und überwachen.

Empfohlene Schritte

  • Betroffene Systeme identifizieren.
  • Exposition prüfen: Internet-Erreichbarkeit, Admin-Oberflächen, VPN, Mail- oder Webdienste.
  • Hersteller-Advisory öffnen und verfügbare Updates, Workarounds oder Deaktivierungen prüfen.
  • Nacharbeiten dokumentieren: betroffene Assets, Maßnahme, Zeitpunkt, Restrestrisiko.

Übergangsmaßnahmen

  • Zugriff auf betroffene Dienste auf vertrauenswürdige Netze einschränken.
  • WAF/IDS/EDR-Regeln und Hersteller-IOCs aktivieren, sofern verfügbar.
  • Nicht benötigte Funktionen, Plugins oder Dienste temporär deaktivieren.