CVE-2019-1543
WysokieCVSS 7.4Prawdopodobieństwo exploitacji (EPSS)
Bardzo wysokie ryzykoPercentyl 93 - wyżej niż 93% wszystkich znanych CVE
Streszczenie
OpenSSL pozwala na ustawienie nonce (IV) dłuższego niż 12 bajtów dla szyfru ChaCha20-Poly1305, przy czym nadmiarowe wiodące bajty są ignorowane. Jeśli aplikacja zmienia długość nonce na większą niż 12 bajtów i modyfikuje wiodące bajty, oczekując nowej unikalnej wartości, może nieumyślnie ponownie użyć nonce, co prowadzi do poważnych ataków na poufność i integralność. Problem dotyczy OpenSSL 1.1.1-1.1.1b oraz 1.1.0-1.1.0j; wewnętrzne użycie w SSL/TLS jest bezpieczne.
Ocena ryzyka
Organizacje używające OpenSSL bezpośrednio w aplikacjach, które ustawiają niestandardową długość nonce większą niż 12 bajtów, są narażone na ataki naruszające poufność i integralność szyfrowanych danych. Ze względu na ograniczony zakres wdrożeń podatność oceniono jako niską.
Rekomendacja
Zaktualizuj OpenSSL do wersji 1.1.1c lub 1.1.0k. Przejrzyj aplikacje korzystające bezpośrednio z ChaCha20-Poly1305 i upewnij się, że nie ustawiają nonce dłuższego niż 12 bajtów.
Inne podatności w OpenSSL
Zobacz wszystkie- CVE-2016-8610Wysokie
W OpenSSL 0.9.8, 1.0.1, 1.0.2 do 1.0.2h oraz 1.1.0 znaleziono lukę typu denial of service, która dotyczy przetwarzania pakietów ALERT podczas nawiązywania połączenia TLS/SSL. Zdalny atakujący może wykorzystać tę lukę, aby spowodować nadmierne zużycie CPU przez serwer TLS/SSL, co uniemożliwi akceptowanie połączeń od innych klientów.
- CVE-2017-3731Wysokie
Podatność CVE-2017-3731 dotyczy serwerów i klientów SSL/TLS działających na 32-bitowych hostach, które mogą ulegać awarii w wyniku odczytu poza granicami pamięci spowodowanego przez skrócony pakiet. W przypadku OpenSSL 1.1.0, awaria może być wywołana przy użyciu algorytmu CHACHA20/POLY1305, a w OpenSSL 1.0.2 przy użyciu RC4-MD5.
- CVE-2017-3730Wysokie
W OpenSSL w wersji 1.1.0 przed 1.1.0d, złośliwy serwer może dostarczyć nieprawidłowe parametry dla wymiany kluczy DHE lub ECDHE, co może prowadzić do próby dereferencji wskaźnika NULL przez klienta, skutkując awarią klienta.
- CVE-2016-7054Wysokie
W OpenSSL w wersji 1.1.0 przed 1.1.0c, połączenia TLS korzystające z szyfrów *-CHACHA20-POLY1305 są podatne na atak DoS poprzez uszkodzenie większych ładunków. Może to prowadzić do awarii OpenSSL.
- CVE-2016-7052Wysokie
W OpenSSL 1.0.2i występuje podatność, która pozwala zdalnym atakującym na spowodowanie awarii aplikacji poprzez wywołanie operacji CRL, co prowadzi do dereferencji wskaźnika NULL.
- CVE-2016-6305Wysokie
Funkcja ssl3_read_bytes w OpenSSL 1.1.0 przed wersją 1.1.0a pozwala zdalnym atakującym na wywołanie odmowy usługi (nieskończona pętla) poprzez wywołanie rekordu o zerowej długości w wywołaniu SSL_peek.
- CVE-2016-6304Wysokie
W OpenSSL przed wersją 1.0.1u, 1.0.2 przed 1.0.2i oraz 1.1.0 przed 1.1.0a występują wielokrotne wycieki pamięci w pliku t1_lib.c. Umożliwia to zdalnym atakującym spowodowanie odmowy usługi poprzez dużą ilość rozszerzeń żądania statusu OCSP.
- CVE-2016-6302Wysokie
Funkcja tls_decrypt_ticket w OpenSSL przed wersją 1.1.0 nie uwzględnia rozmiaru HMAC podczas walidacji długości biletu, co umożliwia zdalnym atakującym spowodowanie odmowy usługi za pomocą zbyt krótkiego biletu.
- CVE-2016-2179Wysokie
Implementacja DTLS w OpenSSL przed wersją 1.1.0 nie ogranicza prawidłowo czasu życia wpisów w kolejce związanych z nieużywanymi wiadomościami przychodzącymi w złej kolejności. To pozwala zdalnym atakującym na wywołanie odmowy usługi (zużycie pamięci) poprzez utrzymywanie wielu stworzonych sesji DTLS jednocześnie.
- CVE-2016-2176Wysokie
Funkcja X509_NAME_oneline w OpenSSL przed wersją 1.0.1t oraz 1.0.2 przed wersją 1.0.2h umożliwia zdalnym atakującym uzyskanie wrażliwych informacji z pamięci stosu procesu lub spowodowanie odmowy usługi (przepełnienie bufora) poprzez spreparowane dane EBCDIC ASN.1.
Oryginalny opis (angielski, źródło NVD)
ChaCha20-Poly1305 is an AEAD cipher, and requires a unique nonce input for every encryption operation. RFC 7539 specifies that the nonce value (IV) should be 96 bits (12 bytes). OpenSSL allows a variable nonce length and front pads the nonce with 0 bytes if it is less than 12 bytes. However it also incorrectly allows a nonce to be set of up to 16 bytes. In this case only the last 12 bytes are significant and any additional leading bytes are ignored. It is a requirement of using this cipher that nonce values are unique. Messages encrypted using a reused nonce value are susceptible to serious confidentiality and integrity attacks. If an application changes the default nonce length to be longer than 12 bytes and then makes a change to the leading bytes of the nonce expecting the new value to be a new unique nonce then such an application could inadvertently encrypt messages with a reused nonce. Additionally the ignored bytes in a long nonce are not covered by the integrity guarantee of this cipher. Any application that relies on the integrity of these ignored leading bytes of a long nonce may be further affected. Any OpenSSL internal use of this cipher, including in SSL/TLS, is safe because no such use sets such a long nonce value. However user applications that use this cipher directly and set a non-default nonce length to be longer than 12 bytes may be vulnerable. OpenSSL versions 1.1.1 and 1.1.0 are affected by this issue. Due to the limited scope of affected deployments this has been assessed as low severity and therefore we are not creating new releases at this time. Fixed in OpenSSL 1.1.1c (Affected 1.1.1-1.1.1b). Fixed in OpenSSL 1.1.0k (Affected 1.1.0-1.1.0j).
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

