Biblioteka kryptograficzna Botan w wersjach przed 2.17.3 nie stosuje obliczeń w czasie stałym (constant-time) dla operacji kodowania i dekodowania base32, base58, base64 oraz hex. Podatność umożliwia przeprowadzenie ataków side-channel, które mogą prowadzić do odzyskania wrażliwych danych kryptograficznych.
▸ Pokaż oryginał (EN)
In Botan before 2.17.3, constant-time computations are not used for certain decoding and encoding operations (base32, base58, base64, and hex).
Operacje kodowania i dekodowania (base32, base58, base64, hex) wykonywane były w sposób zależny od przetwarzanych danych, tzn. czas ich wykonania różnił się w zależności od wartości wejściowych. Atakujący mierzący czas wykonania tych operacji może, poprzez analizę różnic czasowych (timing side-channel), wnioskować o wartościach przetwarzanych danych kryptograficznych. Prawidłowa implementacja operacji kryptograficznych wymaga, aby czas wykonania był niezależny od wartości danych wejściowych (constant-time), co uniemożliwia tego typu analizę.
Atakujący może przeprowadzić atak side-channel oparty na pomiarze czasu i potencjalnie odtworzyć wrażliwe informacje kryptograficzne przetwarzane przez bibliotekę, co grozi naruszeniem poufności i integralności chronionych danych.
Należy zaktualizować bibliotekę Botan do wersji 2.17.3 lub nowszej, w której wprowadzono poprawkę dostępną w ramach pull request #2549 w repozytorium projektu.
Botan Project Botan w wersjach przed 2.17.3
Pomimo oceny CVSS 9.8 (CRITICAL), podatność dotyczy ataku side-channel wymagającego możliwości precyzyjnego pomiaru czasu wykonania operacji, co w praktyce ogranicza łatwość eksploatacji w porównaniu z typowymi podatnościami RCE o podobnym wyniku CVSS.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBotan Project Botan
APPBotan Project< 2.17.3
Powiązane podatności
Botan: błędna weryfikacja certyfikatu umożliwia obejście łańcucha zaufania
Fałszowanie odpowiedzi OCSP w bibliotece Botan — błąd weryfikacji certyfikatów
Nieprawidłowa walidacja wildcard certyfikatów w Botan 2.2.0–2.4.0
Niezdefiniowane zachowanie w Curve25519 biblioteki Botan na platformach 32-bitowych
Nieprawidłowa walidacja wildcard w certyfikatach X.509 w Botan