CVE-2026-9076
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 22 - wyżej niż 22% wszystkich znanych CVE
Streszczenie
Podatność w OpenSSL podczas deszyfrowania CMS opartego na haśle (RFC 3211) pozwala atakującemu na wywołanie odczytu poza dozwolonym obszarem sterty. Atakujący może wybrać szyfr strumieniowy jako klucz szyfrujący KEK, co omija zabezpieczenia i prowadzi do odczytu poza przydzielonym buforem.
Ocena ryzyka
Ryzyko polega na możliwości wywołania awarii (Denial of Service) aplikacji używającej funkcji CMS_decrypt() lub CMS_decrypt_set1_password() na niezaufanych danych CMS. Atak nie wymaga znajomości hasła, a do wywołania awarii konieczne jest, aby bufor kończył się na granicy strony pamięci.
Rekomendacja
Zaleca się natychmiastową aktualizację OpenSSL do wersji łatanej. Do czasu aktualizacji należy unikać deszyfrowania niezaufanych danych CMS z użyciem haseł (PWRI).
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)
Issue summary: When CMS password-based decryption (RFC 3211 / PWRI key unwrap) processes attacker-supplied CMS data, an attacker-chosen stream-mode KEK cipher can trigger a heap out-of-bounds read in kek_unwrap_key(). Impact summary: A heap buffer over-read may trigger a crash which leads to Denial of Service for an application if the input buffer ends at a memory page boundary and the following page is unmapped. There is no information disclosure as the over-read bytes are not revealed to the attacker. The key unwrapping function performs a check-byte test as specified in the RFC that reads 7 bytes from a heap allocation that is based on the wrapped key length from the message. There is a minimum length check based on the block length of the wrapping cipher. However the cipher is selected from an OID carried in the attacker's PWRI keyEncryptionAlgorithm with no requirement that the cipher be a block cipher. When an attacker selects a stream-mode cipher the guard will be ineffective and the allocated buffer containing the unwrapped key can be too small to fit the check-bytes specified in the RFC and a buffer over-read can happen. Applications calling CMS_decrypt() or CMS_decrypt_set1_password() (equivalently openssl cms -decrypt -pwri_password ...) on untrusted CMS data are vulnerable to this issue. No password knowledge is required: the over-read happens during the unwrap attempt before any authentication succeeds. The over-read is limited to a few bytes and is not written to output, so there is no information disclosure. Triggering a crash requires the allocation to border unmapped memory, which is unlikely with the normal allocator. The FIPS modules are not affected by this issue.

