CRITICAL🇬🇧 English

CVE-2024-48984

Buffer overflow w parserze HCI raportów BLE w Arm Mbed OS 6.16.0

CVSS 9.8v3.1pub. 2024-11-20upd. 2025-09-24

Podatność typu buffer overflow (CWE-120) w Arm Mbed OS 6.16.0 dotyczy parsowania rozszerzonych raportów reklamowych BLE (HCI LE Extended Advertising Reports). Brak walidacji granic bufora podczas przetwarzania listy raportów HCI może prowadzić do przepełnienia bufora, co stanowi krytyczne zagrożenie dla urządzeń IoT opartych na tej platformie.

Pokaż oryginał (EN)

An issue was discovered in MBed OS 6.16.0. When parsing hci reports, the hci parsing software dynamically determines the length of a list of reports by reading a byte from an input stream. It then fetches the length of the first report, uses it to calculate the beginning of the second report, etc. In doing this, it tracks the largest report so it can later allocate a buffer that fits every individual report (but only one at a time). It does not, however, validate that these addresses are all contained within the buffer passed to hciEvtProcessLeExtAdvReport. It is then possible, though unlikely, that the buffer designated to hold the reports is allocated in such a way that one of these out-of-bounds length fields is contained within the new buffer. When the (n-1)th report is copied, it overwrites the length field of the nth report. This now corrupted length field is then used for a memcpy into the new buffer, which may lead to a buffer overflow.

🤖 Analiza AI
Jak działa

Parser HCI w funkcji hciEvtProcessLeExtAdvReport dynamicznie wyznacza liczbę raportów na podstawie bajtu odczytywanego ze strumienia wejściowego, a następnie wyznacza offsety kolejnych raportów na podstawie pól długości odczytywanych z bufora wejściowego — bez weryfikacji, czy wskazywane adresy mieszczą się w granicach przekazanego bufora. Mechanizm śledzi największy raport w celu alokacji bufora wyjściowego dopasowanego rozmiarem. Przy kopiowaniu (n-1)-tego raportu do nowego bufora może dojść do nadpisania pola długości n-tego raportu, jeśli pole to przypadkowo znajdzie się wewnątrz nowo zaalokowanego bufora. Tak uszkodzone pole długości jest następnie używane w operacji memcpy, co może skutkować przepełnieniem bufora.

Skutki

Atakujący może doprowadzić do przepełnienia bufora w pamięci urządzenia, co potencjalnie umożliwia wykonanie dowolnego kodu (RCE), destabilizację systemu lub naruszenie poufności i integralności danych przetwarzanych przez urządzenie.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami — poprawka dostępna w repozytorium mbed-ce/mbed-os (pull request #387 na GitHub).

Kogo dotyczy

Arm Mbed OS w wersji 6.16.0 — urządzenia korzystające ze stosu BLE z obsługą HCI LE Extended Advertising Reports (kod w pliku hci_evt.c, funkcja hciEvtProcessLeExtAdvReport).

Uwagi

Podatność wymaga specyficznego układu pamięci w czasie działania (opis wskazuje: 'possible, though unlikely'), co obniża praktyczne prawdopodobieństwo skutecznego wykorzystania, choć ocena CVSS pozostaje krytyczna (9.8). Kod podatny zlokalizowany jest w pliku connectivity/FEATURE_BLE/libraries/cordio_stack/ble-host/sources/hci/dual_chip/hci_evt.c, linia 1317.

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Arm Mbed Os

    OS
    Arm
    6.16.0
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
Memory
CWE
Referencje

Powiązane podatności

CVE-2020-12883CRITICAL9.1ten sam produkt

Buffer over-reads were discovered in the CoAP library in Arm Mbed OS 5.15.3. The CoAP parser is responsible fo...

CVE-2020-12884CRITICAL9.1ten sam produkt

A buffer over-read was discovered in the CoAP library in Arm Mbed OS 5.15.3. The CoAP parser is responsible fo...

CVE-2020-12886CRITICAL9.1ten sam produkt

A buffer over-read was discovered in the CoAP library in Arm Mbed OS 5.15.3. The CoAP parser is responsible fo...

CVE-2024-22905HIGH7.0ten sam produkt

Buffer Overflow vulnerability in ARM mbed-os v.6.17.0 allows a remote attacker to execute arbitrary code via a...

CVE-2020-12885HIGH7.5ten sam produkt

An infinite loop was discovered in the CoAP library in Arm Mbed OS 5.15.3. The CoAP parser is responsible for ...

CVE-2024-48984 — Buffer overflow w parserze HCI raportów BLE w Arm Mbed OS 6.16.0 — CRITICAL 9.8 | CVEbaza.pl