Impact
The vulnerability arises from an integer overflow in the Botan function botan_block_cipher_block_size, which converts a size_t block size to an int without bounds checking. When an attacker supplies an external algorithm name that selects the variable-block-size Lion cipher, the reported block size is truncated. The application then allocates less memory than required; subsequent block processing corrupts memory. This flaw can lead to arbitrary code execution or data compromise, but only affects the FFI raw ECB mode. The C++ API and other common C API modes such as CBC and CTR remain unaffected.
Affected Systems
The affected library is botan from the vendor randombit. Versions from 2.1.0 through 3.13.0 are vulnerable. The issue is fixed in version 3.13.0. Users should verify which version they run and whether the application uses the FFI raw ECB mode with externally supplied algorithm strings.
Risk and Exploitability
With a CVSS score of 9.2 this issue is high severity. The EPSS score is not available, indicating that the current exploitation probability is undetermined, yet the memory corruption offers a serious risk. The vulnerability is not listed in the CISA KEV catalog. The likely attack vector is by delivering a crafted algorithm name string to an application that exposes botan via the FFI raw ECB interface, allowing an attacker to control the reported block size and trigger the overflow. While the condition requires application-specific use of the vulnerable API, the consequences are severe if met.
OpenCVE Enrichment