Description
Botan is a C++ cryptography library. From 2.7.0 until 3.13.0, Botan's Scrypt implementation on 32-bit platforms computes required memory with unchecked multiplication, allowing attacker-controlled Scrypt parameters to wrap the allocation size and create a buffer smaller than the algorithm subsequently writes. The issue affects systems that enable Scrypt and accept arbitrary parameters from a hostile source, including applications that decrypt attacker-supplied encrypted private keys. A triggering parameter set can cause approximately four gigabytes of Scrypt output to be written past the allocated heap buffer, immediately crashing the process and causing denial of service. Arbitrary code execution is not demonstrated and appears difficult, but cannot be excluded from the overwrite primitive. This issue is fixed in version 3.13.0.
Published: 2026-11-06
Score: 4.1 Medium
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

The Botan cryptography library suffers from a heap buffer overflow (CWE-787) in its Scrypt implementation on 32‑bit systems. The vulnerability arises when the library multiplies cost parameters without bounds checking, allowing an attacker‑controlled parameter set to wrap the calculated allocation size. This overflow causes the algorithm to write up to approximately four gigabytes of data past the allocated buffer, immediately crashing the process and resulting in a denial of service. The flaw does not enable arbitrary code execution in the documented cases, though the overwrite primitive could theoretically be exploited under more complex conditions.

Affected Systems

This flaw affects any use of Randombit Botan between versions 2.7.0 and 3.12.x (the 3.13.0 release contains the fix) on 32‑bit architectures. Systems that enable Scrypt and accept arbitrary parameters from untrusted sources—such as applications that decrypt attacker‑supplied encrypted private keys—are at risk. Any deployment that relies on the vulnerable Scrypt implementation for key derivation or password hashing is potentially impacted.

Risk and Exploitability

The CVSS score of 4.1 indicates a moderate severity focus on denial of service. EPSS data is not available, so the current exploitation probability cannot be quantified, and the vulnerability is not catalogued in CISA KEV. An attacker in practice would trigger the overflow by supplying malicious Scrypt parameters, which may be embedded in encrypted payloads processed by the application. Successful exploitation would crash the target process; while no code execution has been demonstrated, the buffer overwrite could theoretically lead to more severe compromise under specific conditions.

Generated by OpenCVE AI on November 6, 2026 at 22:52 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to Botan 3.13.0 or later to apply the fix for unchecked multiplication.
  • If an upgrade cannot be performed immediately, disable Scrypt or enforce strict limits on accepted parameters so that the cost values cannot trigger a wraparound.
  • Add runtime validation for any parameters derived from external input before allocating memory in the Scrypt routine, ensuring allocation size is within safe bounds.

Generated by OpenCVE AI on November 6, 2026 at 22:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 06 Nov 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Randombit
Randombit botan
Vendors & Products Randombit
Randombit botan

Fri, 06 Nov 2026 21:30:00 +0000

Type Values Removed Values Added
Description Botan is a C++ cryptography library. From 2.7.0 until 3.13.0, Botan's Scrypt implementation on 32-bit platforms computes required memory with unchecked multiplication, allowing attacker-controlled Scrypt parameters to wrap the allocation size and create a buffer smaller than the algorithm subsequently writes. The issue affects systems that enable Scrypt and accept arbitrary parameters from a hostile source, including applications that decrypt attacker-supplied encrypted private keys. A triggering parameter set can cause approximately four gigabytes of Scrypt output to be written past the allocated heap buffer, immediately crashing the process and causing denial of service. Arbitrary code execution is not demonstrated and appears difficult, but cannot be excluded from the overwrite primitive. This issue is fixed in version 3.13.0.
Title Botan: scrypt V-buffer heap overflow on 32-bit from constructor-accepted parameters
Weaknesses CWE-787
References
Metrics cvssV4_0

{'score': 4.1, 'vector': 'CVSS:4.0/AV:L/AC:H/AT:P/PR:L/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-11-06T21:25:42.417Z

Reserved: 2026-10-01T19:04:39.707Z

Link: CVE-2026-104267

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-11-06T22:17:50.303

Modified: 2026-11-06T22:17:50.303

Link: CVE-2026-104267

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-06T23:00:11Z

Weaknesses