Randombit
Monthly
Integer truncation in Botan's C API block-cipher size reporting allows an application that passes externally controlled algorithm names into the FFI raw ECB interface to under-allocate a buffer, and subsequent block processing can corrupt memory. Botan versions 2.1.0 through 3.12.x are affected; the C++ API and the standard C API modes CBC and CTR are not. The vendor rates the issue Low because three narrow prerequisites must all hold, yet the CVSS 4.0 base score is 9.2 and the priority decision is act_now; no public exploit was identified at time of analysis and the fix is version 3.13.0.
TLS 1.3 client authentication bypass in Botan cryptography library versions prior to 3.11.1 allows unauthenticated remote attackers to skip certificate validation by sending ApplicationData records before the Finished handshake message. Exploiting this vulnerability requires no authentication (PR:N), low attack complexity (AC:L), and no user interaction (UI:N), resulting in complete integrity compromise (VI:H) for TLS 1.3 servers relying on mutual authentication. CVSS 8.7 severity reflects the network-accessible attack surface and direct violation of cryptographic protocol invariants (CWE-841: Improper Enforcement of Behavioral Workflow). No public exploit identified at time of analysis, though the protocol-level flaw in a widely-used cryptographic library presents significant risk to certificate-based access control mechanisms.
Certificate validation bypass in Botan 3.11.0 allows unauthenticated remote attackers to impersonate trusted certificate authorities by presenting end-entity certificates with matching Distinguished Names and subject key identifiers. The flaw in Certificate_Store::certificate_known incorrectly accepts malicious certificates as trusted roots without verifying actual certificate identity, enabling complete TLS/PKI chain validation bypass. This affects only version 3.11.0 and is fixed in 3.11.1. EPSS data not available; no public exploit identified at time of analysis, though the attack vector is network-accessible with low complexity (CVSS:4.0 AV:N/AC:L/PR:N).
Heap over-read in Botan C++ cryptography library versions 2.3.0 through 3.10.x allows remote, unauthenticated attackers to trigger crashes or undefined behavior during SM2 decryption. The vulnerability stems from insufficient length validation of authentication code (C3) values in SM2 ciphertexts, enabling reads of up to 31 bytes beyond allocated heap memory. With CVSS 8.2 (AV:N/AC:L/PR:N/UI:N) and EPSS data not provided, this represents a remotely exploitable memory safety issue in a cryptographic primitive. No public exploit identified at time of analysis. Patched in version 3.11.0.
The `botan ocsp_check` CLI subcommand in Botan 1.11.34 through 3.12.x prints "OCSP check OK" and returns exit status 0 for a revoked certificate when a hostile OCSP responder or an on-path attacker supplies a matching, timely GOOD response carrying an empty, invalid, or unauthorized signature. Only the command-line tool is affected - Botan's OCSP and PKIX path-validation library APIs are not - so exposure is confined to operators and automation that gate revocation decisions on this command's exit code or stdout. Severity is medium (CVSS 4.0 base 5.9; assessed CVSS 3.1 base 5.9, AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N), there is no CISA KEV entry and no public exploit tooling was identified at time of analysis, although the upstream fix PR ships regression fixtures that reproduce an unsigned GOOD response being accepted by the vulnerable build. The priority label from vuln.today is this_month.
Password policy bypass in Botan's Python binding lets an application hash a shorter password than the one its policy validated: strings such as "x\0-Acceptable-Password-42!" are truncated at the embedded U+0000 when passed to bcrypt() or check_bcrypt(), so the full string passes policy review while only the prefix "x" is actually hashed. Applications using the Botan Python binding (botan3.py) from 1.11.22 until 3.13.0 are affected if they accept application-controlled password strings without rejecting NUL characters and enforce a password policy on the full string; scrypt and argon2 are unaffected, and the trigger is confined to the Python binding rather than the C++ API path. The issue is remotely reachable without credentials (AV:N/PR:N), but exploitation depends entirely on the calling application's policy design and input validation, and no public exploit was identified at time of analysis. A public upstream fix exists in Botan 3.13.0.
Botan's online OCSP client in versions up to and including 3.12.0 follows a single HTTP redirect issued in response to the revocation-status POST, letting a malicious OCSP responder or an on-path attacker who can modify the HTTP response push the client into a blind request against an otherwise unreachable internal HTTP service. The request carries no cookies or credentials, the response is never returned to the attacker, and in 3.12.0 a redirect-handling bug reduced the redirected POST to a bodyless GET, so practical impact is limited to blind SSRF against internal endpoints with non-idempotent GET handlers plus a coarse internal-service oracle derived from connection and response timing. The flaw is fixed in Botan 3.13.0, which disables redirects by default; no public exploit code was identified at time of analysis, and this is assessed as a medium-severity defense-in-depth issue rather than an urgent priority.
Botan cryptography library versions 3.0.0 through 3.10.x fail to verify OCSP response signatures during X.509 certificate path validation, allowing attackers to forge certificate status responses and potentially bypass revocation checks. This integrity bypass affects any application using Botan for TLS or certificate validation and requires network positioning but not authentication. The vulnerability was patched in version 3.11.0.
Botan cryptography library versions prior to 3.11.0 fail to properly validate X.509 certificate DNS name constraints due to case-sensitive comparison of the Common Name field, allowing attackers to present certificates with mixed-case Common Names that bypass name constraint restrictions and potentially establish unauthorized secure connections to restricted domains.
Integer truncation in Botan's C API block-cipher size reporting allows an application that passes externally controlled algorithm names into the FFI raw ECB interface to under-allocate a buffer, and subsequent block processing can corrupt memory. Botan versions 2.1.0 through 3.12.x are affected; the C++ API and the standard C API modes CBC and CTR are not. The vendor rates the issue Low because three narrow prerequisites must all hold, yet the CVSS 4.0 base score is 9.2 and the priority decision is act_now; no public exploit was identified at time of analysis and the fix is version 3.13.0.
TLS 1.3 client authentication bypass in Botan cryptography library versions prior to 3.11.1 allows unauthenticated remote attackers to skip certificate validation by sending ApplicationData records before the Finished handshake message. Exploiting this vulnerability requires no authentication (PR:N), low attack complexity (AC:L), and no user interaction (UI:N), resulting in complete integrity compromise (VI:H) for TLS 1.3 servers relying on mutual authentication. CVSS 8.7 severity reflects the network-accessible attack surface and direct violation of cryptographic protocol invariants (CWE-841: Improper Enforcement of Behavioral Workflow). No public exploit identified at time of analysis, though the protocol-level flaw in a widely-used cryptographic library presents significant risk to certificate-based access control mechanisms.
Certificate validation bypass in Botan 3.11.0 allows unauthenticated remote attackers to impersonate trusted certificate authorities by presenting end-entity certificates with matching Distinguished Names and subject key identifiers. The flaw in Certificate_Store::certificate_known incorrectly accepts malicious certificates as trusted roots without verifying actual certificate identity, enabling complete TLS/PKI chain validation bypass. This affects only version 3.11.0 and is fixed in 3.11.1. EPSS data not available; no public exploit identified at time of analysis, though the attack vector is network-accessible with low complexity (CVSS:4.0 AV:N/AC:L/PR:N).
Heap over-read in Botan C++ cryptography library versions 2.3.0 through 3.10.x allows remote, unauthenticated attackers to trigger crashes or undefined behavior during SM2 decryption. The vulnerability stems from insufficient length validation of authentication code (C3) values in SM2 ciphertexts, enabling reads of up to 31 bytes beyond allocated heap memory. With CVSS 8.2 (AV:N/AC:L/PR:N/UI:N) and EPSS data not provided, this represents a remotely exploitable memory safety issue in a cryptographic primitive. No public exploit identified at time of analysis. Patched in version 3.11.0.
The `botan ocsp_check` CLI subcommand in Botan 1.11.34 through 3.12.x prints "OCSP check OK" and returns exit status 0 for a revoked certificate when a hostile OCSP responder or an on-path attacker supplies a matching, timely GOOD response carrying an empty, invalid, or unauthorized signature. Only the command-line tool is affected - Botan's OCSP and PKIX path-validation library APIs are not - so exposure is confined to operators and automation that gate revocation decisions on this command's exit code or stdout. Severity is medium (CVSS 4.0 base 5.9; assessed CVSS 3.1 base 5.9, AV:A/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N), there is no CISA KEV entry and no public exploit tooling was identified at time of analysis, although the upstream fix PR ships regression fixtures that reproduce an unsigned GOOD response being accepted by the vulnerable build. The priority label from vuln.today is this_month.
Password policy bypass in Botan's Python binding lets an application hash a shorter password than the one its policy validated: strings such as "x\0-Acceptable-Password-42!" are truncated at the embedded U+0000 when passed to bcrypt() or check_bcrypt(), so the full string passes policy review while only the prefix "x" is actually hashed. Applications using the Botan Python binding (botan3.py) from 1.11.22 until 3.13.0 are affected if they accept application-controlled password strings without rejecting NUL characters and enforce a password policy on the full string; scrypt and argon2 are unaffected, and the trigger is confined to the Python binding rather than the C++ API path. The issue is remotely reachable without credentials (AV:N/PR:N), but exploitation depends entirely on the calling application's policy design and input validation, and no public exploit was identified at time of analysis. A public upstream fix exists in Botan 3.13.0.
Botan's online OCSP client in versions up to and including 3.12.0 follows a single HTTP redirect issued in response to the revocation-status POST, letting a malicious OCSP responder or an on-path attacker who can modify the HTTP response push the client into a blind request against an otherwise unreachable internal HTTP service. The request carries no cookies or credentials, the response is never returned to the attacker, and in 3.12.0 a redirect-handling bug reduced the redirected POST to a bodyless GET, so practical impact is limited to blind SSRF against internal endpoints with non-idempotent GET handlers plus a coarse internal-service oracle derived from connection and response timing. The flaw is fixed in Botan 3.13.0, which disables redirects by default; no public exploit code was identified at time of analysis, and this is assessed as a medium-severity defense-in-depth issue rather than an urgent priority.
Botan cryptography library versions 3.0.0 through 3.10.x fail to verify OCSP response signatures during X.509 certificate path validation, allowing attackers to forge certificate status responses and potentially bypass revocation checks. This integrity bypass affects any application using Botan for TLS or certificate validation and requires network positioning but not authentication. The vulnerability was patched in version 3.11.0.
Botan cryptography library versions prior to 3.11.0 fail to properly validate X.509 certificate DNS name constraints due to case-sensitive comparison of the Common Name field, allowing attackers to present certificates with mixed-case Common Names that bypass name constraint restrictions and potentially establish unauthorized secure connections to restricted domains.