Live › vulnerability › CVE-2026-118767
Botan's Python binding passes strings containing a NUL character to bcrypt and check_bcrypt, which hash only the part before the NUL. An application that validates a long password but hashes the truncated value can have its password policy bypassed.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-10-29 18:26 UTC. All times on this page are UTC.
Applications that use Botan's Python binding for bcrypt password hashing and accept user passwords that may contain NUL characters. Scrypt and argon2 are not affected, so systems that use only those are not exposed. Applications that reject control characters in passwords before hashing are unlikely to be exposed.
No product ranges from the sources yet.
python -c "import botan3; print(botan3.version_string())" or the package manager, and compare against the fixed release.bcrypt or check_bcrypt from the Botan Python binding that receive user-supplied passwords.3.13.0 (fixed version per the description; affected range from 1.11.22 until )3.13.0Each row is the first time that source carried this signal. The analyst’s rows are its own findings.
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.
This page as .md · .json · in your agent: get_signal("CVE-2026-118767")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.