Podatność w kodzie Curve25519 biblioteki kryptograficznej Botan (przed wersją 1.11.31) dotyczy systemów bez natywnej obsługi 128-bitowych liczb całkowitych. Na takich platformach (np. 32-bitowe ARM skompilowane przez Clang) może dochodzić do niezdefiniowanego zachowania o nieokreślonych skutkach.
▸ Pokaż oryginał (EN)
The Curve25519 code in botan before 1.11.31, on systems without a native 128-bit integer type, might allow attackers to have unspecified impact via vectors related to undefined behavior, as demonstrated on 32-bit ARM systems compiled by Clang.
Na systemach pozbawionych natywnego typu 128-bitowego implementacja algorytmu Curve25519 w bibliotece Botan opiera się na operacjach arytmetycznych, które w pewnych warunkach prowadzą do niezdefiniowanego zachowania (ang. undefined behavior) zgodnie z klasyfikacją CWE-20 (improper input validation). Problem ujawnia się w szczególności na 32-bitowych systemach ARM kompilowanych przy użyciu Clang, gdzie kompilator może generować kod w sposób nieoczekiwany przez programistów. Brak weryfikacji poprawności danych wejściowych i założeń dotyczących szerokości typów całkowitych stanowi źródło podatności.
Atakujący może doprowadzić do niezdefiniowanych skutków, które przy ocenie CVSS 9.8 obejmują potencjalnie pełną kompromitację poufności, integralności oraz dostępności systemu. Dokładny charakter skutków zależy od środowiska uruchomieniowego i kontekstu użycia biblioteki.
Należy zaktualizować bibliotekę Botan do wersji 1.11.31 lub nowszej, w której problem został usunięty. Szczegóły dostępne są w oficjalnym biuletynie bezpieczeństwa producenta pod adresem https://botan.randombit.net/security.html
Botan w wersjach przed 1.11.31, uruchomiony na systemach bez natywnego 128-bitowego typu całkowitego, w szczególności 32-bitowe platformy ARM kompilowane przez Clang.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HBotan Project Botan
APPBotan Project≤ 1.11.30
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
Botan: brak obliczeń constant-time w operacjach kodowania/dekodowania
Nieprawidłowa walidacja wildcard certyfikatów w Botan 2.2.0–2.4.0
Nieprawidłowa walidacja wildcard w certyfikatach X.509 w Botan