Podatność w bibliotece Mbed TLS pozwala nieuwierzytelnionemu atakującemu na wywołanie heap-based buffer over-read poprzez wysłanie nieprawidłowej wiadomości ClientHello do serwera DTLS. Skutkiem może być crash serwera lub ujawnienie informacji z pamięci procesu.
▸ Pokaż oryginał (EN)
An issue was discovered in Mbed TLS before 2.28.1 and 3.x before 3.2.0. In some configurations, an unauthenticated attacker can send an invalid ClientHello message to a DTLS server that causes a heap-based buffer over-read of up to 255 bytes. This can cause a server crash or possibly information disclosure based on error responses. Affected configurations have MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE enabled and MBEDTLS_SSL_IN_CONTENT_LEN less than a threshold that depends on the configuration: 258 bytes if using mbedtls_ssl_cookie_check, and possibly up to 571 bytes with a custom cookie check function.
Błąd (CWE-125: Out-of-bounds Read) występuje w mechanizmie obsługi ponownego użycia portów klienta DTLS (MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE). Gdy bufor wejściowy MBEDTLS_SSL_IN_CONTENT_LEN jest mniejszy niż określony próg (258 bajtów przy standardowej funkcji mbedtls_ssl_cookie_check, a nawet do 571 bajtów przy niestandardowej funkcji sprawdzania cookie), serwer przetwarza spreparowaną wiadomość ClientHello bez odpowiedniej weryfikacji długości danych. Prowadzi to do odczytu poza granicami bufora na stercie (heap) o maksymalnie 255 bajtów. Atak nie wymaga uwierzytelnienia ani żadnej interakcji po stronie użytkownika.
Atakujący może doprowadzić do awarii (crash) serwera DTLS, co skutkuje odmową usługi, lub uzyskać dostęp do fragmentów pamięci procesu (information disclosure) poprzez analizę odpowiedzi błędów serwera.
Należy zaktualizować Mbed TLS do wersji 2.28.1 lub nowszej (gałąź 2.x) albo do wersji 3.2.0 lub nowszej (gałąź 3.x). Użytkownicy Debian Linux powinni zastosować aktualizacje pakietów opublikowane w debian-lts-announce (grudzień 2022). Jako obejście można wyłączyć opcję MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE lub zwiększyć wartość MBEDTLS_SSL_IN_CONTENT_LEN powyżej wymaganych progów zgodnie z zaleceniami producenta.
Mbed TLS w wersjach przed 2.28.1 oraz w wersjach z gałęzi 3.x przed 3.2.0, w konfiguracjach z włączoną opcją MBEDTLS_SSL_DTLS_CLIENT_PORT_REUSE i wartością MBEDTLS_SSL_IN_CONTENT_LEN poniżej progów wskazanych w opisie. Dotyczy również pakietów Debian Linux zawierających podatną wersję biblioteki.
Podatność jest aktywowana wyłącznie w określonej kombinacji opcji konfiguracyjnych biblioteki — systemy z domyślną konfiguracją mogą nie być narażone. Szczegółowe progi wartości MBEDTLS_SSL_IN_CONTENT_LEN zależą od zastosowanej funkcji cookie check (258 lub do 571 bajtów).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:HArm Mbed Tls
APPArm< 2.28.1Debian
OSDebian10.0Trustedfirmware Mbed Tls
APPTrustedfirmware3.0.0 – 3.2.0 (bez)
Powiązane podatności
GNU Inetutils telnetd: ominięcie uwierzytelnienia przez zmienną USER
Sudo: eskalacja uprawnień do root poprzez opcję --chroot (CVE-2025-32463)
RCE przez deserializację PHP w Roundcube Webmail (parametr _from)
Erlang/OTP SSH — nieuwierzytelniony RCE (CVSS 10.0)
Apple WebKit: out-of-bounds write umożliwiający ucieczkę z sandbox przeglądarki