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.
https://github.com/randombit/botan/security/advisories/GHSA-w8gj-5xrm-gvrp
https://github.com/randombit/botan/pull/5814
https://github.com/randombit/botan/commit/5a4ac737e72e18a08eca848049e3dd38571c73b4