PolarSSL w wersjach starszych niż 1.1 korzysta z algorytmu HAVEGE do generowania liczb losowych, opartego na timerze wysokiej rozdzielczości procesora (instrukcja RDTSC). W środowiskach wirtualnych instrukcja ta może być emulowana lub zwracać przewidywalne wartości, co czyni generowane dane kryptograficzne możliwymi do odgadnięcia przez atakującego.
▸ Pokaż oryginał (EN)
PolarSSL versions prior to v1.1 use the HAVEGE random number generation algorithm. At its heart, this uses timing information based on the processor's high resolution timer (the RDTSC instruction). This instruction can be virtualized, and some virtual machine hosts have chosen to disable this instruction, returning 0s or predictable results.
Algorytm HAVEGE czerpie entropię z pomiarów czasowych uzyskiwanych przez instrukcję RDTSC procesora. Niektóre środowiska wirtualizacji wyłączają tę instrukcję lub zwracają stałe bądź przewidywalne wartości (np. same zera). W rezultacie biblioteka PolarSSL może generować słabe, łatwe do odtworzenia klucze kryptograficzne lub wartości losowe, naruszając podstawowe założenia bezpieczeństwa komunikacji. Podatność sklasyfikowana jest jako CWE-338 (użycie kryptograficznie słabego generatora liczb pseudolosowych).
Atakujący może przewidzieć lub odtworzyć wartości kryptograficzne (np. klucze sesji, nonce) generowane przez bibliotekę, co może prowadzić do naruszenia poufności, integralności i dostępności chronionej komunikacji.
Należy zaktualizować PolarSSL do wersji 1.1 lub nowszej. Szczegóły dostępne w komunikacie bezpieczeństwa producenta: https://tls.mbed.org/tech-updates/security-advisories/polarssl-security-advisory-2011-02
PolarSSL w wersjach starszych niż 1.1, szczególnie uruchamiany w środowiskach wirtualizacji, w których instrukcja RDTSC jest wyłączona lub zwraca przewidywalne wyniki.
Podatność dotyczy wyłącznie środowisk zwirtualizowanych, w których instrukcja RDTSC jest emulowana lub wyłączona. Systemy działające na fizycznym sprzęcie z prawidłowo działającym timerem RDTSC są znacznie mniej narażone.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HPolarssl
APPPolarssl< 1.1.0
Powiązane podatności
A Security Bypass vulnerability exists in PolarSSL 0.99pre4 through 1.1.1 due to a weak encryption error when ...
Memory leak in PolarSSL before 1.2.12 and 1.3.x before 1.3.9 allows remote attackers to cause a denial of serv...
Memory leak in PolarSSL before 1.3.9 allows remote attackers to cause a denial of service (memory consumption)...
The asn1_get_sequence_of function in library/asn1parse.c in PolarSSL 1.0 through 1.2.12 and 1.3.x through 1.3....
Heap-based buffer overflow in PolarSSL 1.x before 1.2.17 and ARM mbed TLS (formerly PolarSSL) 1.3.x before 1.3...