W bibliotece CoAP systemu Arm Mbed OS 5.15.3 odkryto podatność typu buffer over-read (CWE-125), umożliwiającą odczyt danych spoza dozwolonego obszaru pamięci. Podatność osiąga poziom krytyczny (CVSS 9.1) i może prowadzić do ujawnienia wrażliwych danych lub awarii urządzenia.
▸ Pokaż oryginał (EN)
A buffer over-read was discovered in the CoAP library in Arm Mbed OS 5.15.3. The CoAP parser is responsible for parsing received CoAP packets. The function sn_coap_parser_options_parse_multiple_options() parses CoAP options that may occur multiple consecutive times in a single packet. While processing the options, packet_data_pptr is accessed after being incremented by option_len without a prior out-of-bounds memory check. The temp_parsed_uri_query_ptr is validated for a correct range, but the range valid for temp_parsed_uri_query_ptr is derived from the amount of allocated heap memory, not the actual input size. Therefore the check of temp_parsed_uri_query_ptr may be insufficient for safe access to the area pointed to by packet_data_pptr. As a result, access to a memory area outside of the intended boundary of the packet buffer is made.
Funkcja sn_coap_parser_options_parse_multiple_options() odpowiada za przetwarzanie opcji CoAP, które mogą pojawić się wielokrotnie w jednym pakiecie. Wskaźnik packet_data_pptr jest inkrementowany o wartość option_len bez wcześniejszego sprawdzenia, czy wynikowy adres mieści się w granicach bufora pakietu. Walidacja wskaźnika temp_parsed_uri_query_ptr opiera się na rozmiarze przydzielonej pamięci sterty, a nie na faktycznym rozmiarze wejściowego pakietu, przez co weryfikacja zakresu jest niewystarczająca. W konsekwencji możliwy jest odczyt danych spoza zamierzonego bufora pakietu.
Atakujący może doprowadzić do nieautoryzowanego odczytu obszarów pamięci urządzenia (ujawnienie danych poufnych) oraz do destabilizacji lub awarii systemu (odmowa usługi). Atak jest możliwy zdalnie, bez uwierzytelnienia i bez interakcji użytkownika.
Należy zastosować patche dostępne u producenta zgodnie z referencjami (pull request #116 w repozytorium ARMmbed/mbed-coap na GitHub). Zaleca się aktualizację biblioteki mbed-coap do wersji zawierającej poprawkę oraz ograniczenie dostępu sieciowego do urządzeń opartych na Mbed OS do zaufanych hostów.
Arm Mbed OS 5.15.3 z wbudowaną biblioteką CoAP (mbed-coap) — w szczególności urządzenia IoT przetwarzające pakiety CoAP z sieci.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HArm Mbed Os
OSArm5.15.3
Powiązane podatności
Buffer overflow w parserze HCI raportów BLE w Arm Mbed OS 6.16.0
Buffer over-read w bibliotece CoAP Arm Mbed OS — wyciek pamięci i błąd dostępu
Buffer over-read w bibliotece CoAP systemu Arm Mbed OS
Buffer Overflow vulnerability in ARM mbed-os v.6.17.0 allows a remote attacker to execute arbitrary code via a...
An infinite loop was discovered in the CoAP library in Arm Mbed OS 5.15.3. The CoAP parser is responsible for ...