Logo
componentbotan
Name
botan
Version
2.19.1
Type
library
Description
Crypto and TLS for C++11
Licenses
BSD-2-Clause
PURL
-
CPE
cpe:2.3:*:botan_project:botan:2.19.1:*:*:*:*:*:*:*

Other Versions#


Project
Branch
Version
master
3.12.0
scarthgap
3.2.0

Patches#


#
Title
Author
Resolve
1
FIX: intermediates can sign their own OCSP responses
Rene Meusel <rene.meusel@rohde-schwarz.com>
CVE-2022-43705
2
review comments
Rene Meusel <rene.meusel@rohde-schwarz.com>
CVE-2022-43705
3
Add more value barriers to avoid compiler induced side
Jack Lloyd <jack@randombit.net>
CVE-2024-50382
CVE-2024-50383
4
Address various name constraint bugs
Jack Lloyd <jack@randombit.net>
CVE-2024-34702
CVE-2024-39312
5
add Certificate_Store_In_Memory c'tor that takes a vector of
Rene Meusel <rene.meusel@rohde-schwarz.com>
CVE-2022-43705
6
FIX: missing validation of authority of delegation responder
Rene Meusel <rene.meusel@rohde-schwarz.com>
CVE-2022-43705

Vulnerabilities#


Name
Analysis
Description
Exploitable
Botan is a C++ cryptography library. Prior to 3.12.0, certain patterns of indefinite length encodings in BER data could cause quadratic behavior in the parser, resulting in a denial of service. Such BER encodings were accepted even in structures which are required to be encoded as DER, which prohibits indefinite length encodings. This vulnerability is fixed in 3.12.0.
Exploitable
Botan is a C++ cryptography library. Prior to version 3.11.0, during processing of an X.509 certificate path using name constraints which restrict the set of allowable DNS names, if no subject alternative name is defined in the end-entity certificate Botan would check that the CN was allowed by the DNS name constraints, even though this check is technically not required by RFC 5280. However this check failed to account for the possibility of a mixed-case CN. Thus a certificate with CN=Sub.EVIL.COM and no subject alternative name would bypasses an excludedSubtrees constraint for evil.com because the comparison is case-sensitive. This issue has been patched in version 3.11.0.
Exploitable
Botan is a C++ cryptography library. From version 2.3.0 to before version 3.11.0, during SM2 decryption, the code that checked the authentication code value (C3) failed to check that the encoded value was of the expected length prior to comparison. An invalid ciphertext can cause a heap over-read of up to 31 bytes, resulting in a crash or potentially other undefined behavior. This issue has been patched in version 3.11.0.
Patched
Botan before 3.6.0, when certain GCC versions are used, has a compiler-induced secret-dependent operation in lib/utils/donna128.h in donna128 (used in Chacha-Poly1305 and x25519). An addition can be skipped if a carry is not set. This was observed for GCC 11.3.0 with -O2 on MIPS, and GCC on x86-i386. (Only 32-bit processors can be affected.)
Patched
Botan before 3.6.0, when certain LLVM versions are used, has compiler-induced secret-dependent control flow in lib/utils/ghash/ghash.cpp in GHASH in AES-GCM. There is a branch instead of an XOR with carry. This was observed for Clang in LLVM 15 on RISC-V.
Patched
Botan is a C++ cryptography library. X.509 certificates can identify elliptic curves using either an object identifier or using explicit encoding of the parameters. A bug in the parsing of name constraint extensions in X.509 certificates meant that if the extension included both permitted subtrees and excluded subtrees, only the permitted subtree would be checked. If a certificate included a name which was permitted by the permitted subtree but also excluded by excluded subtree, it would be accepted. Fixed in versions 3.5.0 and 2.19.5.
Patched
Botan is a C++ cryptography library. X.509 certificates can identify elliptic curves using either an object identifier or using explicit encoding of the parameters. Prior to 3.5.0 and 2.19.5, checking name constraints in X.509 certificates is quadratic in the number of names and name constraints. An attacker who presented a certificate chain which contained a very large number of names in the SubjectAlternativeName, signed by a CA certificate which contained a large number of name constraints, could cause a denial of service. The problem has been addressed in Botan 3.5.0 and a partial backport has also been applied and is included in Botan 2.19.5.
Patched
In Botan before 2.19.3, it is possible to forge OCSP responses due to a certificate verification error. This issue was introduced in Botan 1.11.34 (November 2016).