|
|
Message-Id: <367BF8DB-4AF2-4FB5-A89D-ABB666D4C801@stig.io>
Date: Thu, 23 Apr 2026 09:36:06 +0200
From: Stig Palmquist <stig@...g.io>
To: cve-announce@...urity.metacpan.org,
oss-security@...ts.openwall.com
Subject: CVE-2026-41564: CryptX versions before 0.088 for Perl do not reseed
the Crypt::PK PRNG state after forking
========================================================================
CVE-2026-41564 CPAN Security Group
========================================================================
CVE ID: CVE-2026-41564
Distribution: CryptX
Versions: before 0.088
MetaCPAN: https://metacpan.org/dist/CryptX
VCS Repo: https://github.com/DCIT/perl-CryptX
CryptX versions before 0.088 for Perl do not reseed the Crypt::PK PRNG
state after forking
Description
-----------
CryptX versions before 0.088 for Perl do not reseed the Crypt::PK PRNG
state after forking.
The Crypt::PK::RSA, Crypt::PK::DSA, Crypt::PK::DH, Crypt::PK::ECC,
Crypt::PK::Ed25519 and Crypt::PK::X25519 modules seed a per-object PRNG
state in their constructors and reuse it without fork detection. A
Crypt::PK::* object created before `fork()` shares byte-identical PRNG
state with every child process, and any randomized operation they
perform can produce identical output, including key generation. Two
ECDSA or DSA signatures from different processes are enough to recover
the signing private key through nonce-reuse key recovery.
This affects preforking services such as the Starman web server, where
a Crypt::PK::* object loaded at startup is inherited by every worker
process.
Problem types
-------------
- CWE-335 Incorrect Usage of Seeds in Pseudo-Random Number Generator
(PRNG)
- CWE-338 Use of Cryptographically Weak Pseudo-Random Number Generator
(PRNG)
Solutions
---------
Upgrade to CryptX 0.088 or later, or apply the upstream patch.
Applying the fix does not retroactively protect keys that may already
have been exposed. On an affected version, any private key used with or
generated by a Crypt::PK::* object created before `fork()` should be
assessed for rotation.
References
----------
https://github.com/DCIT/perl-CryptX/security/advisories/GHSA-24c2-gp6c-24c6
https://github.com/DCIT/perl-CryptX/commit/9a1dd3e0c27d68e32450be5538b864c2b115ee15.patch
https://metacpan.org/release/MIK/CryptX-0.088
Timeline
--------
- 2026-04-18: Issue discovered.
- 2026-04-21: Reported to upstream maintainer.
- 2026-04-23: CryptX 0.088 released with fix.
Powered by blists - more mailing lists
Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.