CRITICAL🇬🇧 English

CVE-2026-8721

Crypt::OpenSSL::PKCS12 — ciche obcinanie haseł zawierających bajt NULL

CVSS 9.8pub. 2026-05-17upd. 2026-05-18

Biblioteka Crypt::OpenSSL::PKCS12 dla Perl w wersjach do 1.94 po cichu obcina hasła zawierające wbudowane bajty NULL, odrzucając wszystko co następuje po pierwszym znaku NUL. Skutkuje to znaczącym zmniejszeniem entropii haseł bez jakiegokolwiek ostrzeżenia dla użytkownika lub aplikacji.

Pokaż oryginał (EN)

Crypt::OpenSSL::PKCS12 versions through 1.94 for Perl truncates passwords with embedded NULLs. Password parameters in PKCS12.xs are declared char *, which routes through Perl's default typemap to SvPV_nolen. The Perl length is discarded. The C code (or OpenSSL internally) calls strlen() on the buffer. Any password byte at or after the first NULL is silently dropped. Binary / KDF-derived / HMAC-derived passwords lose entropy without any warnings.

🤖 Analiza AI
Jak działa

Parametry hasła w pliku PKCS12.xs są zadeklarowane jako typ char *, co powoduje ich obsługę przez domyślną mapę typów Perla (SvPV_nolen), która ignoruje informację o długości łańcucha znaków. Następnie kod C lub wewnętrzne mechanizmy OpenSSL wywołują funkcję strlen() na buforze, która zatrzymuje się na pierwszym bajcie NULL. W efekcie wszelkie dane hasła znajdujące się za pierwszym bajtem NULL są cicho odrzucane. Dotyczy to w szczególności haseł binarnych oraz haseł wyprowadzanych z funkcji KDF lub HMAC, które mogą naturalnie zawierać bajty o wartości zero.

Skutki

Atakujący może znacznie łatwiej złamać hasło chronionego pliku PKCS12, ponieważ efektywna entropia hasła jest nieoczekiwanie i cicho redukowana. W scenariuszach gdzie hasła są generowane binarnie lub wyprowadzane kryptograficznie, rzeczywista siła ochrony kryptograficznej może być drastycznie niższa niż zakładana przez administratora lub aplikację.

Mitygacja

Należy zaktualizować bibliotekę Crypt::OpenSSL::PKCS12 do wersji 1.95 lub nowszej, w której problem został naprawiony. Szczegóły zmiany dostępne są w rejestrze zmian opublikowanym na metacpan.org.

Kogo dotyczy

Crypt::OpenSSL::PKCS12 dla Perl we wszystkich wersjach do 1.94 włącznie.

Uwagi

Podatność sklasyfikowana jako CWE-170 (Improper Null Termination). Poprawka dostępna w wersji 1.95, opublikowanej przez autora JONASBN. Informacja o podatności ujawniona 17 maja 2026 roku na liście oss-security (Openwall).

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
CWE
Referencje
CVE-2026-8721 — Crypt::OpenSSL::PKCS12 — ciche obcinanie haseł zawierających bajt NULL — CRITICAL 9.8 | CVEbaza.pl