W bibliotece Mbed TLS 3.6 przed wersją 3.6.1 wykryto podatność typu stack buffer overflow w funkcjach konwersji sygnatur ECDSA. Luka umożliwia zdalnemu atakującemu bez uwierzytelnienia wykonanie dowolnego kodu lub destabilizację aplikacji.
▸ Pokaż oryginał (EN)
An issue was discovered in Mbed TLS 3.6 before 3.6.1. A stack buffer overflow in mbedtls_ecdsa_der_to_raw() and mbedtls_ecdsa_raw_to_der() can occur when the bits parameter is larger than the largest supported curve. In some configurations with PSA disabled, all values of bits are affected. (This never happens in internal library calls, but can affect applications that call these functions directly.)
Podatność występuje w funkcjach mbedtls_ecdsa_der_to_raw() oraz mbedtls_ecdsa_raw_to_der(), gdy parametr 'bits' przekazywany przez aplikację jest większy niż rozmiar największej obsługiwanej krzywej eliptycznej. W konfiguracjach z wyłączonym interfejsem PSA (Platform Security Architecture) problem dotyczy wszystkich wartości parametru 'bits'. Przepełnienie stosu następuje wówczas, gdy aplikacja wywołuje te funkcje bezpośrednio – biblioteka wewnętrznie nigdy nie wywołuje tych funkcji w sposób podatny. Atakujący, który może kontrolować wartość parametru 'bits' lub dane wejściowe przetwarzane przez aplikację, może doprowadzić do nadpisania pamięci stosu.
Atakujący może doprowadzić do wykonania dowolnego kodu (RCE) w kontekście procesu używającego biblioteki lub spowodować jego awarię. W przypadku udanego exploit możliwe jest również naruszenie poufności i integralności przetwarzanych danych.
Należy zaktualizować Mbed TLS do wersji 3.6.1 lub nowszej. Szczegółowe informacje dostępne w komunikacie bezpieczeństwa producenta: https://mbed-tls.readthedocs.io/en/latest/security-advisories/mbedtls-security-advisory-2024-08-2/
Arm Mbed TLS w wersji 3.6 przed 3.6.1, szczególnie aplikacje wywołujące bezpośrednio funkcje mbedtls_ecdsa_der_to_raw() lub mbedtls_ecdsa_raw_to_der(); w konfiguracjach z wyłączonym PSA zakres podatności jest szerszy.
Podatność dotyczy wyłącznie aplikacji wywołujących funkcje mbedtls_ecdsa_der_to_raw() i mbedtls_ecdsa_raw_to_der() bezpośrednio – wewnętrzne wywołania biblioteczne nie są podatne. Ryzyko jest podwyższone w konfiguracjach z wyłączonym PSA.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HTrustedfirmware Mbed Tls
APPTrustedfirmware3.6.0
Powiązane podatności
RCE przez deserializację kontekstu SSL w Mbed TLS
Arm Mbed TLS: podszywanie się pod klienta przy wznawianiu sesji TLS 1.3
Buffer overflow w eksporcie klucza publicznego FFDH w Mbed TLS i TF-PSA-Crypto
Buffer underrun w Mbed TLS podczas zapisu nieprzezroczystej pary kluczy
Arm Mbed TLS: błąd weryfikacji certyfikatu klienta w TLS 1.3