Skip to main content
← All vulnerabilities
CVE-2026-118765EUVD-2026-113274GHSA-95XX-XH9V-V9C4

Botan: AutoSeeded_RNG can become reinitialized from predictable data after clearing state

Only affects Botan 3.7.0 through 3.12.0 when AutoSeeded_RNG is cleared and then reused while unseeded, with the clock-and-process-ID fallback on builds lacking a system RNG. Vendor severity is not given. Fixed in 3.13.0.

Published
Last modified
published
Not listed in CISA KEV
Specific setups only
Fix
Fixed in 3.13.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

Botan, a C++ cryptography library, is affected by this vulnerability, where its AutoSeeded_RNG random number generator can be marked as seeded without collecting real entropy after its state is cleared. In affected builds lacking the system RNG, this can cause the generator to produce output derived from predictable values such as a clock reading and process ID, weakening the security of any cryptographic keys or secrets generated with it.

Summarized by anthropic/claude-haiku-5.5. Verify details against the original sources.

Read the original description

Botan is a C++ cryptography library. From 3.7.0 until 3.13.0, an application that calls AutoSeeded_RNG::clear() and then calls randomize with an empty output buffer while the generator is unseeded can cause AutoSeeded_RNG to mark itself seeded without consulting the configured entropy source. On builds without BOTAN_HAS_SYSTEM_RNG, the fallback uses only a clock value and process ID, so a later non-empty request can produce output from predictable state. This issue is fixed in version 3.13.0.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  4. Record last updated

Affected versions

  • randombit botan

    From 3.7.0 · fixed in 3.13.0

References 3

GitHub · randombit/botan

FAQ

Questions about CVE-2026-118765

What does this mean?

After AutoSeeded_RNG::clear() is called, a randomize call with an empty output buffer while the RNG is still unseeded can leave it in a state where a later non-empty request skips the configured entropy provider. That later output can be derived from predictable state, so RNG output may be predictable.Source: github.com

Am I affected, and how do I check?

Botan versions 3.7.0 through 3.12.0 are affected. The issue needs an application that calls clear() and then randomize with an empty output buffer while unseeded, and it matters most on builds without BOTAN_HAS_SYSTEM_RNG, where the fallback uses only a clock value and the process ID. Check the Botan version in use and whether the build defines BOTAN_HAS_SYSTEM_RNG.Source: github.com

What should I do about it?

Upgrade Botan to 3.13.0 or later. Until then, avoid reusing an AutoSeeded_RNG after calling clear(): construct a fresh instance, or call force_reseed() before using the cleared object.Source: github.com

Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data