CVE-2026-118769
CriticalCVSS 9.2Summary
In the Botan C++ cryptography library, the C API function botan_block_cipher_block_size converted a size_t block size to int without a bounds check. In an application that accepts external algorithm parameter strings and uses FFI raw ECB mode, an attacker can select the variable-block-size Lion cipher, causing the reported size to be truncated, insufficient memory allocation, and later memory corruption. The issue is fixed in version 3.13.0.
Risk Assessment
Potential memory corruption and possible code execution in applications using the Botan C API in ECB mode with user-controlled algorithm parameters. This affects confidentiality, integrity, and availability of the service.
Recommendation
Update Botan to version 3.13.0 or later. Until patched, avoid passing untrusted algorithm parameters to ECB mode via the C API.
Other vulnerabilities in Botan
See all- CVE-2026-118768Medium
In the Botan library, the botan ocsp_check command requested an OCSP response from a certificate's Authority Information Access URL without verifying the response signature or authorizing the signer. A malicious responder or on-path attacker could return a matching and timely GOOD response with an empty, invalid, or unauthorized signature, causing a revoked certificate to produce exit status 0 and OCSP check OK output. Only the command-line interface is affected; the issue is fixed in version 3.13.0.
- CVE-2026-118767Medium
In the Botan library, the 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. The issue is fixed in version 3.13.0.
- CVE-2026-118766Medium
In the Botan library, the online OCSP client prior to 3.13.0 allowed a single HTTP redirect while posting an OCSP request to the URI in a certificate's Authority Information Access extension. A malicious OCSP responder or on-path attacker could redirect the client to make one blind request to an otherwise unreachable internal HTTP service, resulting in blind SSRF; response timing can provide a coarse internal-service oracle. The issue is fixed in version 3.13.0.
- CVE-2026-118765High
In the Botan C++ cryptography library, from 3.7.0 until 3.13.0, an application that calls AutoSeeded_RNG::clear() and then calls randomize with an empty output buffer while the generator is unseeded can cause AutoSeeded_RNG to mark itself seeded without consulting the configured entropy source. On builds without BOTAN_HAS_SYSTEM_RNG, the fallback uses only a clock value and process ID, so a later non-empty request can produce output from predictable state. This is fixed in version 3.13.0.
- CVE-2015-7825High
Botan before 1.11.22 improperly validates certificate paths, allowing remote attackers to cause a denial of service via a certificate with a loop in the certificate chain.
- CVE-2015-7824High
Botan versions 1.11.x before 1.11.22 are vulnerable to a padding-oracle attack that allows remote attackers to decrypt TLS ciphertext data using CBC ciphersuites.
- CVE-2016-2850High
Botan versions 1.11.x before 1.11.29 do not enforce TLS policy for signature algorithms and ECC curves, allowing remote attackers to conduct downgrade attacks.
- CVE-2016-2849High
Botan before 1.10.13 and 1.11.x before 1.11.29 do not use a constant-time algorithm to perform a modular inverse on the signature nonce k, which might allow remote attackers to obtain ECDSA secret keys via a timing side-channel attack.
- CVE-2016-2194High
The ressol function in Botan before 1.10.11 and 1.11.x before 1.11.27 allows remote attackers to cause a denial of service (infinite loop) via unspecified input to the OS2ECP function, related to a composite modulus.
- CVE-2015-7827High
Botan before 1.10.13 and 1.11.x before 1.11.22 makes it easier for remote attackers to conduct million-message attacks by measuring time differences related to decoding of PKCS#1 padding.
Original NVD description (English source)
Botan is a C++ cryptography library. From 2.1.0 until 3.13.0, the Botan C API function botan_block_cipher_block_size converted a size_t block size to int without a bounds check. In an application that accepts external algorithm parameter strings and uses the FFI raw ECB mode, an attacker can select the variable-block-size Lion cipher so that the reported size is truncated, the caller allocates insufficient memory, and later block processing causes memory corruption. The C++ API and normally used C API modes such as CBC and CTR are unaffected. This issue is fixed in version 3.13.0.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

