CVE-2026-81716
ŚrednieCVSS 5.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% wszystkich znanych CVE
Streszczenie
openssl_encrypt (pip: openssl-encrypt) przed wersją 1.4.9 zawiera wadę przechodzenia przez ścieżki w PluginSandbox._is_safe_path, która autoryzowała dostęp do plików za pomocą zwykłego dopasowania prefiksu ciągu. Zablokowany plugin bez uprawnienia READ_FILES mógł odczytać lub zapisać katalog innego pluginu, który jedynie dzieli prefiks nazwy (np. .../plugins/foobar pasujący do dozwolonego .../plugins/foo), łamiąc izolację między pluginami w obrębie tego samego użytkownika. Poprawka polega na dopasowaniu każdego dozwolonego katalogu dokładnie lub z końcowym separatorem ścieżki.
Ocena ryzyka
Ryzyko obejmuje naruszenie izolacji między pluginami, co może pozwolić złośliwemu pluginowi na dostęp do danych innych pluginów. Może to prowadzić do nieautoryzowanego odczytu lub zapisu plików.
Rekomendacja
Zaleca się natychmiastowe zaktualizowanie openssl_encrypt do wersji 1.4.9 lub nowszej, która zawiera poprawkę. Należy również przejrzeć konfigurację uprawnień pluginów.
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 (pip: openssl-encrypt) versions before 1.4.9 contain a path traversal flaw in PluginSandbox._is_safe_path, which authorized file access using a bare string-prefix match. A sandboxed plugin without the READ_FILES permission could read or write another plugin's directory that merely shares a name prefix (e.g., .../plugins/foobar matching allowed .../plugins/foo), breaking per-plugin isolation within the same user. Fixed by matching each allowed directory exactly or with a trailing path separator.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

