CVE-2026-81681
ŚrednieCVSS 4.6Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 3 - wyżej niż 3% wszystkich znanych CVE
Streszczenie
openssl_encrypt (pakiet pip openssl-encrypt) w wersjach <= 1.4.8 reklamuje przenośny obszar roboczy USB jako 'Zaszyfrowany obszar roboczy USB' z szyfrowaniem AES-256-GCM i zapisuje znacznik deklarujący, że obszar jest zaszyfrowany, ale katalog obszaru roboczego jest faktycznie przechowywany w postaci jawnej, a pochodny klucz szyfrujący nigdy nie jest do niego stosowany. Użytkownik, który ufa brandingowi i umieszcza pliki w obszarze roboczym, pozostawia je niezaszyfrowane na nośniku wymiennym, więc atakujący z fizycznym dostępem do nośnika może odczytać poufne pliki. Poprawiono w wersji 1.4.9, która zamyka obszar roboczy w uwierzytelnionym sejfie AES-256-GCM.
Ocena ryzyka
Ryzyko polega na tym, że użytkownicy mogą umieszczać poufne dane na nośnikach USB, myśląc, że są zaszyfrowane, podczas gdy są one w postaci jawnej, co naraża je na kradzież fizyczną.
Rekomendacja
Zaleca się aktualizację do wersji 1.4.9, która faktycznie szyfruje obszar roboczy, oraz poinformowanie użytkowników o konieczności ręcznego szyfrowania danych na starszych wersjach.
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 package openssl-encrypt) versions <= 1.4.8 advertise a portable USB workspace as an 'Encrypted USB Workspace' with AES-256-GCM encryption and write a marker declaring the workspace encrypted, but the workspace directory is actually stored in cleartext and the derived encryption key is never applied to it. A user who trusts the branding and places files in the workspace leaves them unencrypted on the removable media, so an attacker with physical access to the media can read the sensitive files. Fixed in 1.4.9, which seals the workspace into an authenticated AES-256-GCM vault.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

