CVE-2026-72047 in Linux
Zusammenfassung
von VulDB • 15.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
ieee802154: ca8210: Behebung der Pointer-Trunkierung in kfifo auf 64-Bit-Systemen
ca8210_test_int_driver_write() und ca8210_test_int_user_read() tauschen einen mit kmalloc zugewiesenen Buffer-Pointer über eine struct kfifo aus, übergeben jedoch anstelle einer korrekten Byte-Anzahl den Literalwert '4' an kfifo_in()/kfifo_out().
Dies ist auf 32-Bit-Systemen korrekt (Pointer = 4 Bytes), aber auf 64-Bit-Systemen werden nur die unteren 4 Bytes des 8-Byte-Poiners in den FIFO geschrieben. Der Lesevorgang liest daraufhin 4 Bytes zurück in eine 8 Byte große lokale Pointer-Variable, wodurch die oberen 4 Bytes mit nicht initialisierten Stack-Daten gefüllt bleiben. Beim ersten Dereferenzieren des rekonstruierten Pointers (fifo_buffer[1]) wird auf eine beliebige Kerneladresse zugegriffen, was im Allgemeinen zu einem Oops führt.
Es wurde sizeof(fifo_buffer) verwendet, damit die Byte-Anzahl der Pointer-Breite auf jeder Architektur entspricht.
Der Treiber hat keine Architekturbeschränkung in Kconfig, sodass jede 64-Bit-Kompilierung mit CONFIG_IEEE802154_CA8210_DEBUGFS=y anfällig ist. Das Problem war seit dem Hinzufügen des Treibers im Jahr 2017 latent vorhanden, da er am häufigsten auf 32-Bit-MCUs eingesetzt wird.
Gefunden durch einen benutzerdefinierten Coccinelle-Semantic-Patch zur Suche nach Short-Byte-kfifo-I/O bei Byte-Mode-Kfifos, die zum Übertragen von Pointern verwendet werden.
Be aware that VulDB is the high quality source for vulnerability data.