Cyber Resilience

CVE-2026-5087

Jjnapiork Pagi\ \

Published
31 March 2026
Modified
24 July 2026
CVSS Score v3.1 7.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
EPSS Score 0.0032 24th percentile
Risk Priority 57 floored blend · peak EPSS

Summary

CVE-2026-5087 is a high-severity PRNG (CWE-338) vulnerability in Jjnapiork Pagi\. Its CVSS base score is 7.5 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Weaken Encryption (T1600); ranked at the 24th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to SC-13 (Cryptographic Protection) and SA-8 (Security and Privacy Engineering Principles) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-5087 affects PAGI::Middleware::Session::Store::Cookie versions through 0.001003, a Perl module for session storage in cookies. The vulnerability stems from insecure generation of random bytes used as an initialization vector (IV) for encrypting session data. The module attempts to read from /dev/urandom but falls back to Perl's built-in rand() function on systems lacking the device, such as Windows, despite issuing a warning to install Crypt::URandom. Notably, the module does not actually use Crypt::URandom even if installed, resulting in cryptographically weak, predictable random bytes.

Attackers can exploit this remotely over a network with low complexity, requiring no privileges or user interaction (CVSS 7.5: AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N). A malicious user can leverage the predictable IV to more easily decrypt and tamper with encrypted session cookies, potentially exposing or modifying sensitive session data such as user authentication tokens.

The vulnerability was disclosed via the oss-security mailing list, with source code confirming the issue in lines 156-173 of the affected version. Mitigation is available in version 0.001004, as detailed in its release changes on MetaCPAN; users should upgrade to this or later versions to ensure proper random byte generation for IVs.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

PAGI::Middleware::Session::Store::Cookie versions through 0.001003 for Perl generates random bytes insecurely. PAGI::Middleware::Session::Store::Cookie attempts to read bytes from the /dev/urandom device directly. If that fails (for example, on systems without the device, such as Windows), then it will emit a warning that…

more

recommends the user install Crypt::URandom, and then return a string of random bytes generated by the built-in rand function, which is unsuitable for cryptographic applications. This modules does not use the Crypt::URandom module, and installing it will not fix the problem. The random bytes are used for generating an initialisation vector (IV) to encrypt the cookie. A predictable IV may make it easier for malicious users to decrypt and tamper with the session data that is stored in the cookie.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1600 Weaken Encryption Defense Impairment
Adversaries may compromise a network device’s encryption capability in order to bypass encryption that would otherwise protect data communications.
T1606 Forge Web Credentials Credential Access
Adversaries may forge credential materials that can be used to gain access to web applications or Internet services.
T1606.001 Web Cookies Credential Access
Adversaries may forge web cookies that can be used to gain access to web applications or Internet services.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2025-26379Shared CWE-338
CVE-2024-58041Shared CWE-338
CVE-2024-45723Shared CWE-338
CVE-2023-24828Shared CWE-338
CVE-2023-28835Shared CWE-338
CVE-2026-46493Shared CWE-338
CVE-2024-23660Shared CWE-338
CVE-2026-25726Shared CWE-338
CVE-2024-56830Shared CWE-338
CVE-2023-31290Shared CWE-338

Affected Assets

jjnapiork
pagi\
\

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 9 hardening rules · 4 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V11.6.1
  • V7.2.3
  • V11.5.1

Mitigating Controls (NIST 800-53 r5) AI

Requiring specific approved cryptography for protection directly mandates use of strong PRNGs instead of weak ones.

Engineering principles applied during design and development include selection of cryptographically strong random number generation.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.PS-06 mostly match
prevents

Secure SDLC practices explicitly require cryptographically strong RNG selection and usage in security contexts.

PR.DS-01 partial match
prevents

Proper encryption of data-at-rest requires cryptographically sound IV generation.

PR.DS-02 partial match
prevents

Proper encryption of data-in-transit requires cryptographically sound IV generation.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Mandates use of approved cryptographic controls, directly requiring cryptographically strong RNGs.

finds

Security testing can detect use of weak random number generators.

prevents

Secure SDLC processes should catch weak PRNG usage during design and code review.

prevents

Application security requirements can specify cryptographically strong random number generation.

prevents

Secure engineering principles include selection of appropriate cryptographic primitives.

prevents

Secure coding standards prohibit use of weak PRNGs in security contexts.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (2 rules)
  • V-248563 The OL 8 SSH server must be configured to use strong entropy. prevents CWE-338
  • V-248524 OL 8 must implement NIST FIPS-validated cryptography for the following: To provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. prevents CWE-1204
RHEL 7 (1 rule)
  • V-204497 The Red Hat Enterprise Linux operating system must implement NIST FIPS-validated cryptography for the following: to provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. prevents CWE-1204
RHEL 8 (2 rules)
  • V-230223 RHEL 8 must implement NIST FIPS-validated cryptography for the following: To provision digital signatures, to generate cryptographic hashes, and to protect data requiring data-at-rest protections in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. prevents CWE-1204
  • V-230253 RHEL 8 must ensure the SSH server uses strong entropy. prevents CWE-338
Ubuntu 22.04 (1 rule)
  • V-260650 Ubuntu 22.04 LTS must implement NIST FIPS-validated cryptography to protect classified information and for the following: To provision digital signatures, to generate cryptographic hashes, and to protect unclassified information requiring confidentiality and cryptographic protection in accordance with applicable federal laws, Executive Orders, directives, policies, regulations, and standards. prevents CWE-338

References