W bibliotece Mbed TLS wykryto potencjalne przepełnienie bufora sterty (heap-based buffer overflow) oraz odczyt poza buforem sterty (heap-based buffer over-read) w obsłudze protokołu DTLS. Podatność jest krytyczna, ponieważ może być wykorzystana zdalnie bez uwierzytelnienia i prowadzić do przejęcia kontroli nad systemem.
▸ Pokaż oryginał (EN)
An issue was discovered in Mbed TLS before 2.28.2 and 3.x before 3.3.0. There is a potential heap-based buffer overflow and heap-based buffer over-read in DTLS if MBEDTLS_SSL_DTLS_CONNECTION_ID is enabled and MBEDTLS_SSL_CID_IN_LEN_MAX > 2 * MBEDTLS_SSL_CID_OUT_LEN_MAX.
Błąd występuje w implementacji mechanizmu Connection ID dla protokołu DTLS, gdy jednocześnie włączona jest opcja kompilacji MBEDTLS_SSL_DTLS_CONNECTION_ID oraz wartość MBEDTLS_SSL_CID_IN_LEN_MAX jest większa niż dwukrotność MBEDTLS_SSL_CID_OUT_LEN_MAX. Przy takiej konfiguracji nieprawidłowe zarządzanie rozmiarem buforów powoduje, że dane mogą być zapisywane lub odczytywane poza przeznaczonym obszarem pamięci sterty. Atakujący może to wywołać poprzez spreparowane pakiety DTLS wysyłane do podatnej usługi.
Atakujący może doprowadzić do wykonania dowolnego kodu (RCE) lub ujawnienia wrażliwych danych z pamięci procesu, a w gorszym przypadku do całkowitego przejęcia kontroli nad systemem. Możliwe jest również wywołanie awarii aplikacji (denial of service).
Należy zaktualizować Mbed TLS do wersji 2.28.2 lub nowszej (dla gałęzi 2.x) albo do wersji 3.3.0 lub nowszej (dla gałęzi 3.x). Jako doraźne obejście, jeśli aktualizacja nie jest możliwa, należy wyłączyć opcję MBEDTLS_SSL_DTLS_CONNECTION_ID lub dostosować konfigurację tak, aby warunek MBEDTLS_SSL_CID_IN_LEN_MAX > 2 * MBEDTLS_SSL_CID_OUT_LEN_MAX nie był spełniony. Użytkownicy Fedora powinni zastosować aktualizacje dostępne przez systemowy manager pakietów.
Mbed TLS w wersjach przed 2.28.2 oraz w wersjach 3.x przed 3.3.0, gdy skompilowane z włączoną opcją MBEDTLS_SSL_DTLS_CONNECTION_ID i konfiguracją, w której MBEDTLS_SSL_CID_IN_LEN_MAX > 2 * MBEDTLS_SSL_CID_OUT_LEN_MAX. Dotyczy również pakietów Mbed TLS w dystrybucji Fedora Linux.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HArm Mbed Tls
APPArm< 2.28.2Fedora Project Fedora
OSFedoraproject3637Trustedfirmware Mbed Tls
APPTrustedfirmware3.0.0 – 3.3.0 (bez)
Powiązane podatności
PHP CGI argument injection – RCE na Windows przez mechanizm Best-Fit
Type Confusion w V8 (Google Chrome) — RCE przez spreparowaną stronę HTML
Type Confusion w silniku V8 Chrome — zdalne wykonanie kodu (RCE)
Use-after-free w Google Chrome Visuals umożliwiający ucieczkę z sandbox
Integer overflow w Skia w Google Chrome — sandbox escape