CVE-2026-118767

Botan: Python binding bcrypt APIs truncate passwords containing embedded NULs

State
Published
Severity
4.8 Medium
Published
Oct 29, 2026
Updated
Oct 29, 2026
Reserved
Oct 28, 2026

Read the record on cve.org

Description

Botan is a C++ cryptography library. From 1.11.22 until 3.13.0, Botan's 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. This issue is fixed in version 3.13.0.

Scores

CVSSScoreVectorSource
3.14.8 MediumCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:NGitHub_M

Weaknesses

  • CWE-158 Improper Neutralization of Null Byte or NUL Character

Affected Products

ProductVersions
botanrandombit
  • >= 1.11.22, < 3.13.0Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.