CVE-2026-118767
ŚrednieCVSS 4.8Streszczenie
W bibliotece Botan powiązanie Python konwertowało łańcuchy Python zawierające U+0000 na const char* bez konsekwentnego odrzucania osadzonego NUL, przez co bcrypt i check_bcrypt przetwarzały tylko prefiks przed NUL. Aplikacje mogły walidować dłuższe hasło, ale hashować krótszą efektywną wartość, co umożliwiało obejście polityki haseł; scrypt i argon2 nie są dotknięte. Problem naprawiono w wersji 3.13.0.
Ocena ryzyka
Atakujący może obejść politykę haseł aplikacji, dostarczając hasło z osadzonym znakiem NUL. Może to osłabić mechanizmy uwierzytelniania oparte na bcrypt w powiązaniu Python.
Rekomendacja
Zaktualizuj Botan do wersji 3.13.0 lub nowszej. Sprawdź aplikacje używające bcrypt przez powiązanie Python pod kątem walidacji znaków NUL w hasłach.
Inne podatności w Botan
Zobacz wszystkie- CVE-2026-118768Średnie
W bibliotece Botan polecenie botan ocsp_check pobierało odpowiedź OCSP z adresu Authority Information Access certyfikatu bez weryfikacji podpisu odpowiedzi ani autoryzacji podpisującego. Złośliwy responder lub atakujący w ścieżce mógł zwrócić pasującą i aktualną odpowiedź GOOD z pustym, nieprawidłowym lub nieautoryzowanym podpisem, przez co unieważniony certyfikat dawał kod wyjścia 0 i wynik OCSP check OK. Dotyczy to wyłącznie interfejsu wiersza poleceń; problem naprawiono w wersji 3.13.0.
- CVE-2026-118766Średnie
W bibliotece Botan klient OCSP online przed wersją 3.13.0 zezwalał na pojedyncze przekierowanie HTTP podczas wysyłania żądania OCSP do URI w rozszerzeniu Authority Information Access certyfikatu. Złośliwy responder OCSP lub atakujący w ścieżce mógł przekierować klienta do wykonania jednego ślepego żądania do wewnętrznej usługi HTTP, co stanowi blind SSRF; czas odpowiedzi może ujawniać informacje o usługach wewnętrznych. Problem naprawiono w wersji 3.13.0.
- CVE-2026-118765Wysokie
W bibliotece kryptograficznej Botan (C++) od wersji 3.7.0 do 3.13.0 aplikacja, która wywoła AutoSeeded_RNG::clear(), a następnie wywoła randomize z pustym buforem wyjściowym, gdy generator nie jest zaseedowany, może spowodować oznaczenie AutoSeeded_RNG jako zaseedowanego bez konsultacji ze skonfigurowanym źródłem entropii. W kompilacjach bez BOTAN_HAS_SYSTEM_RNG mechanizm zapasowy używa jedynie wartości zegara i identyfikatora procesu, więc późniejsze żądanie niepustego bufora może zwrócić dane z przewidywalnego stanu. Problem naprawiono w wersji 3.13.0.
- CVE-2015-7825Wysokie
Botan w wersjach przed 1.11.22 nieprawidłowo waliduje ścieżki certyfikatów, co pozwala zdalnym atakującym na spowodowanie odmowy usługi poprzez certyfikat z pętlą w łańcuchu certyfikatów.
- CVE-2015-7824Wysokie
Botan w wersjach 1.11.x przed 1.11.22 jest podatny na atak typu padding-oracle, który umożliwia zdalnym atakującym odszyfrowanie danych szyfrowanych w protokole TLS przy użyciu szyfrów CBC.
- CVE-2016-2850Wysokie
Botan w wersjach 1.11.x przed 1.11.29 nie egzekwuje polityki TLS dla algorytmów podpisu oraz krzywych ECC, co umożliwia zdalnym atakującym przeprowadzenie ataków typu downgrade.
- CVE-2016-2849Wysokie
Botan w wersjach przed 1.10.13 oraz 1.11.x przed 1.11.29 nie stosuje algorytmu o stałym czasie do obliczania odwrotności modularnej dla nonce podpisu k, co może umożliwić zdalnym atakującym uzyskanie tajnych kluczy ECDSA poprzez atak boczny oparty na czasie.
- CVE-2016-2194Wysokie
Funkcja ressol w Botan przed wersją 1.10.11 oraz 1.11.x przed wersją 1.11.27 pozwala zdalnym atakującym na wywołanie odmowy usługi (nieskończona pętla) poprzez nieokreślony input do funkcji OS2ECP, związanej z modułem złożonym.
- CVE-2015-7827Wysokie
Botan w wersjach przed 1.10.13 oraz 1.11.x przed 1.11.22 umożliwia zdalnym atakującym przeprowadzanie ataków milionów wiadomości poprzez pomiar różnic czasowych związanych z dekodowaniem paddingu PKCS#1.
- CVE-2015-5727Wysokie
Dekoder BER w Botan 1.10.x przed wersją 1.10.10 oraz 1.11.x przed wersją 1.11.19 umożliwia zdalnym atakującym spowodowanie odmowy usługi (zużycie pamięci) poprzez nieokreślone wektory, związane z polem długości.
Oryginalny opis (angielski, źródło NVD)
Botan is a C++ cryptography library. From 1.11.22 until 3.13.0, Botan's Python binding converted Python strings containing U+0000 to const char* values without consistently rejecting the embedded NUL, causing bcrypt and check_bcrypt to process only the prefix before the NUL. Applications could validate a longer password but hash a shorter effective value, allowing application password-policy bypass; scrypt and argon2 are unaffected. This issue is fixed in version 3.13.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

