Skip to main content

Bytes::Random::Secure CVE-2026-11625

| EUVDEUVD-2026-39640 HIGH
Incorrect Usage of Seeds in Pseudo-Random Number Generator (PRNG) (CWE-335)
2026-06-26 CPANSec GHSA-r57w-h3mc-4jrv
7.5
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify forking Perl app using shared PRNG state
  2. Delivery
    Obtain one issued secret from a worker
  3. Exploit
    Predict identical stream in sibling processes
  4. Execution
    Forge tokens or session identifiers
  5. Impact
    Hijack sessions or impersonate users

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Proper seed usage
Exploitation Conditions

Exploitation requires that the victim application uses Bytes::Random::Secure in one of two specific patterns: an OO generator object instantiated BEFORE the process calls fork(), or the module's functional/procedural interface used across forked processes - in either case the seeded PRNG state is copied into children and never re-seeded. The application must be a multiprocess (forking/preforking) Perl program that generates security-sensitive values from this module, and the attacker must be able to observe or correlate the resulting secrets across processes. Limiting factors: applications that instantiate the generator AFTER forking (per-child), single-process applications, and non-default usage that explicitly re-seeds are not affected; there is no special privilege or authentication needed against the module itself, but realistic impact depends on the secrets being exposed to or usable by the attacker.

Impact

Signals are mixed and worth reconciling. The NVD CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N, C:H/I:N/A:N = 7.5) treats this as a remotely reachable confidentiality issue, which is reasonable insofar as the predictable secrets (tokens, keys) are often exposed or used over the network - but exploitation realistically depends on the victim application using a specific vulnerable coding pattern (object created before fork, or the functional interface), which is a non-default-severity condition the base score does not capture; effective attack complexity is higher than AC:L implies. EPSS is low (0.16%, percentile 6%) and the issue is not in CISA KEV, consistent with no active exploitation and no public exploit code. This is a genuine cryptographic correctness defect with high impact where present, but it is a developer/deployment-pattern-dependent weakness rather than a broadly weaponizable remote vulnerability - prioritize it for Perl multiprocess services (preforking web apps, job workers) that handle this module, but it is not an emergency for environments not running it.

Exploit ScenarioDerived

A preforking Perl web application initializes a Bytes::Random::Secure generator at startup, then forks multiple worker processes that each issue session tokens or password-reset values from the shared, identical PRNG state. An attacker who obtains a token from one worker can predict the tokens emitted by sibling workers, hijacking other users' sessions or forging reset links. No public exploit code is identified, but the technique requires only observation and correlation of issued secrets rather than any memory-corruption primitive.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Jun 26, 2026

Predictable secret generation in the Perl module Bytes::Random::Secure (versions through 0.29) occurs because the module fails to detect process forks, causing parent and child processes to share identical PRNG internal state. Applications that instantiate a generator object before fork()ing - or that use the module's functional (procedural) interface - will emit identical random streams across processes, making session tokens, keys, salts, and other secrets predictable across workers. No public exploit is identified at time of analysis, and EPSS is low (0.16%, 6th percentile); CPANSec reported it and an upstream fix is available.

RemediationAI

Apply the upstream fix that adds fork/PID detection so the RNG is re-seeded in each child process; the patch is published at https://security.metacpan.org/patches/B/Bytes-Random-Secure/0.29/CVE-2026-11625-r1.patch and corresponds to pull request https://github.com/daoswald/Bytes-Random-Secure/pull/4 - upgrade to the patched release once it is published to CPAN (a fix is available per vendor advisory, though a specific tagged release version is not stated in the provided data, so verify the fixed version on MetaCPAN before pinning). As an immediate code-level workaround without upgrading, do not instantiate Bytes::Random::Secure objects before forking and avoid the functional interface in preforking servers: create a new generator (or call srand-equivalent re-seed) inside each child after fork, accepting the minor cost of per-child seeding entropy; alternatively, rotate to a fork-safe CSPRNG source for secret generation. Track remediation against the issue and PR at https://github.com/daoswald/Bytes-Random-Secure/issues/3 and https://github.com/daoswald/Bytes-Random-Secure/pull/4.

Affected VersionsENISA

Bytes::Random::Secure 0 ≤0.29

Affected Packages

euvd bytes_random_secure no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Bytes::Random::Secure is a CPAN module that wraps a CSPRNG (Math::Random::ISAAC seeded via Crypt::Random::Seed) to provide cryptographically secure random bytes for Perl applications. The flaw is a classic CWE-335 (Incorrect Usage of Seeds / improper PRNG re-seeding) condition tied to Unix process forking: when a process calls fork(), the child inherits an exact copy of the parent's memory, including the already-seeded ISAAC state. Because the module cached the RNG object (the internal _RNG handle) without tracking the process ID that created it, both processes continued advancing from the identical seeded state and therefore produced the same byte sequence. The PR diff confirms the root cause and fix: the patch records $self->{_pid} = $$ at build/instantiation and re-instantiates the RNG whenever $$ (current PID) no longer matches the stored PID, forcing a fresh re-seed in each forked child.

Know when Bytes gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (CPANSec) PRIMARY 7.5 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
vuln.today AI 5.9 MEDIUM

Predictable secrets can be exploited remotely (AV:N) but only when the app uses the pre-fork/functional pattern and the attacker correlates streams, raising complexity (AC:H); high confidentiality impact, no integrity/availability effect.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
SUSE HIGH

Primary rating from Vendor (CPANSec).

CVSS VectorVendor: CPANSec

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
None

Lifecycle Timeline

2
CVSS changed
Jun 26, 2026 - 17:22 NVD
7.5 (HIGH)
CVE Published
Jun 26, 2026 - 08:07 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

Bytes::Random::Secure versions through 0.29 for Perl share internal state across forked processes.

When an object is initialised before forking, or when the functional interface is used, then the internal state for the PRNG is shared across processes and identical random streams will be produced.

Secrets generated in multiprocess applications are predictable across processes.

Executive ViewAI

Why It Matters

The Bytes::Random::Secure Perl module (versions ≤0.29) generates identical values across multiple worker processes, rendering session tokens, encryption keys, and authentication credentials predictable to attackers. Organizations using this module in multi-worker application architectures face direct exposure of cryptographic secrets. Immediate patching is required to restore cryptographic assurance and prevent session hijacking and unauthorized access.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Medium
established CPAN crypto-random module, but limited to Perl deployments
Social Media
1
Sightings
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor CIRCL GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Important

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy