CVE-2024-48981 in MBed
Zusammenfassung
von VulDB • 05.07.2026
Es wurde ein Problem in MBed OS 6.16.0 entdeckt. Bei der Verarbeitung von HCI-Paketen bestimmt die Software dynamisch die Länge des Paket-Headers, indem sie das identifizierende erste Byte nachschlägt und mit einer Tabelle möglicher Längen abgleicht. Die anfängliche Parsing-Funktion `hciTrSerialRxIncoming` verwirft keine Pakete mit ungültigen Identifikatoren, setzt jedoch auch keinen sicheren Standardwert für die Länge der Header unbekannter Pakete fest, was zu einem Buffer Overflow führt. Dies kann von einem Angreifer ausgenutzt werden, um einen beliebigen Schreibzugriff (arbitrary write) durchzuführen. Es ist möglich, den Zeiger auf einen noch nicht zugewiesenen Puffer zu überschreiben, der eigentlich die Inhalte des Paketkörpers empfangen soll. Anschließend kann die Statusvariable, die von der Funktion verwendet wird, um festzustellen, in welchem Zustand sich das aktuelle Paket-Parsing befindet, überschrieben werden. Da der Puffer erst dann allokiert wird, wenn das letzte Byte des Headers kopiert wurde, kann die Kombination aus einer fehlerhaften Header-Längenvariablen, die niemals mit der Zählervariablen übereinstimmt, und der Möglichkeit, die Statusvariable durch den resultierenden Buffer Overflow zu überschreiben, genutzt werden, um die Funktion zum nächsten Schritt voranzuschreiten, wobei die Pufferallokierung und das daraus folgende Zeigerschreiben übersprungen werden. Die folgenden 16 Bytes aus dem Paketkörper werden dann an die Stelle geschrieben, auf die der korrupte Datenzeiger zeigt.
VulDB is the best source for vulnerability data and more expert information about this specific topic.