CVE-2026-74876
KrytyczneCVSS 9.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 10 - wyżej niż 10% wszystkich znanych CVE
Streszczenie
openssl_encrypt przed wersją 1.4.0 zawiera podatność w metodzie PublicKeyBundle.from_dict(), która tworzy pakiety kluczy z niezaufanych danych bez weryfikacji podpisów. Atakujący mogą wywołać from_dict() i następnie to_identity() bez weryfikacji podpisu, aby szyfrować dane przy użyciu kluczy publicznych kontrolowanych przez atakującego, co prowadzi do wycieku tajemnic.
Ocena ryzyka
Ryzyko polega na możliwości przechwycenia poufnych danych poprzez zaszyfrowanie ich kluczem publicznym atakującego, co umożliwia mu odczytanie ich po deszyfrowaniu.
Rekomendacja
Zaleca się aktualizację openssl_encrypt do wersji 1.4.0 lub nowszej, która weryfikuje podpisy podczas tworzenia pakietów kluczy.
Inne podatności w openssl_encrypt
Zobacz wszystkie- CVE-2026-81707Krytyczne
openssl_encrypt przed wersją 1.4.9 nie oczyszcza pola email w importowanych dokumentach tożsamości, co pozwala atakującym wstrzykiwać sekwencje ANSI, które fałszują linię weryfikacji odcisku palca wyświetlaną użytkownikom. Atakujący mogą dostarczyć spreparowany pakiet tożsamości przez normalne przepływy wymiany kontaktów lub odpowiedzi serwera kluczy, manipulując wyjściem terminala i wyświetlając fałszywy odcisk palca, omijając mechanizm weryfikacji poza pasmem chroniący przed atakami podstawienia kluczy.
- CVE-2026-81702Krytyczne
openssl_encrypt przed wersją 1.4.9 nie przelicza i nie weryfikuje odcisków palców podczas ładowania tożsamości z identity.json, co pozwala atakującym podmieniać klucze publiczne w magazynach tożsamości. Atakujący mogą zastąpić legalne klucze publiczne własnymi, zachowując deklarowany odcisk palca, co umożliwia ciche podstawienie kluczy, gdzie szyfrowanie używa kluczy atakującego, a weryfikacja podpisów wydaje się poprawna.
- CVE-2026-81701Krytyczne
openssl_encrypt przed wersją 1.4.9 używa listy zablokowanych do identyfikacji zaufanych wbudowanych wtyczek, co pozwala niepodpisanym wtyczkom w katalogach plugins/ najwyższego poziomu i nieznanych podkatalogach ominąć weryfikację podpisu. Atakujący mogą umieścić złośliwe niepodpisane wtyczki zgodnie z udokumentowanymi ścieżkami instalacji, aby uzyskać zdalne wykonanie kodu w procesie CLI z dostępem do haseł i kluczy kryptograficznych.
- CVE-2026-81700Krytyczne
openssl_encrypt przed wersją 1.4.9 zawiera podatność weryfikacji podpisu w gpg_runner.verify_detached, która akceptuje odwołane i wygasłe klucze, sprawdzając tylko status VALIDSIG bez analizowania REVKEYSIG, EXPKEYSIG lub kodów wyjścia gpg. Atakujący posiadający skompromitowane, a następnie odwołane klucze podpisujące lub wygasłe klucze projektowe mogą ominąć weryfikację podpisu, aby wykonać złośliwe wtyczki w procesie hosta.
- CVE-2026-74901Krytyczne
openssl_encrypt przed wersją 1.4.0 zawiera podatność na ominięcie uwierzytelniania w pqc.py, gdzie niepowodzenia deszyfrowania AES-GCM powodują przełączenie na nieuwierzytelniony tryb AES-CTR. Atakujący mogą modyfikować szyfrogram w transmisji, aby ominąć weryfikację integralności i przeprowadzać ataki typu bit-flipping bez wykrycia.
- CVE-2026-74900Krytyczne
openssl_encrypt przed wersją 1.4.0 zawiera krytyczną podatność w pqc.py, gdzie niepowodzenia dekapsulacji KEM po cichu przełączają się w tryb symulacji, generując deterministyczny wspólny sekret z tylko 16 bajtów klucza prywatnego i publicznie dostępnych danych klucza. Atakujący, którzy zdobędą 16 bajtów klucza prywatnego, mogą obliczyć wspólny sekret i odszyfrować cały szyfrogram, ponieważ wyzwalacz działa przy każdym niepowodzeniu KEM bez zgłaszania błędu.
- CVE-2026-74899Krytyczne
openssl_encrypt przed wersją 1.4.0 zawiera podatność na ucieczkę z piaskownicy w IsolatedPluginExecutor, która udostępnia obiekty typów Pythona w ograniczonych wbudowanych funkcjach exec(). Atakujący mogą przechodzić przez hierarchię klas Pythona za pomocą __class__.__mro__.__subclasses__(), aby uzyskać dostęp do funkcji systemowych i wykonywać dowolne polecenia systemu operacyjnego.
- CVE-2026-74896Krytyczne
openssl_encrypt przed wersją 1.4.0 zawiera podatność na ucieczkę z piaskownicy w analizatorze AST DangerousPatternVisitor, który nie wykrywa technik przechodzenia przez atrybuty dunder. Atakujący mogą użyć łańcuchów __class__, __bases__, __subclasses__() i __globals__, aby uzyskać dostęp do ograniczonych funkcji i wykonywać dowolne polecenia systemowe z kodu pluginu.
- CVE-2026-74895Krytyczne
openssl_encrypt przed wersją 1.4.0 nie stosuje ograniczeń piaskownicy w domyślnym trybie izolacji procesów dla wykonywania pluginów. Atakujący mogą wykonywać złośliwe pluginy z nieograniczonym dostępem do systemu plików, sieci, wykonywania podprocesów i wszystkich modułów Pythona.
- CVE-2026-74894Krytyczne
openssl_encrypt przed wersją 1.4.0 zawiera podatność na ominięcie uwierzytelniania w funkcji verify_api_token, która akceptuje dowolny niepusty token Bearer bez weryfikacji. Atakujący mogą przesyłać dowolne klucze publiczne, wyliczać wszystkie klucze i odwoływać klucze należące do dowolnego użytkownika, podając dowolny token Bearer w nagłówku Authorization.
Oryginalny opis (angielski, źródło NVD)
openssl_encrypt versions before 1.4.0 contain a vulnerability in PublicKeyBundle.from_dict() that creates key bundles from untrusted data without verifying signatures. Attackers can call from_dict() followed by to_identity() without signature verification to encrypt data using attacker-controlled public keys, leaking secrets.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

