Bug 2563606 (CVE-2026-118767)

Summary: CVE-2026-118767 botan: botan: Password policy bypass via embedded null byte in Python bindings
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: jlanda, kshier, rbobbitt, rhel-process-autobot, simaishi, stcannon, watson-tool-maintainers, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in Botan. Its Python bindings fail to properly reject embedded null characters when converting strings, causing bcrypt password hashing functions to truncate the input at the null byte. A remote attacker can exploit this flaw to bypass password length and complexity policies, as an application may validate a full password string while only the prefix before the null byte is hashed and checked.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2568564, 2568565, 2568566, 2568567    
Bug Blocks:    

Description OSIDB Bzimport 2026-10-29 18:13:29 UTC
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.