Every CVE Search/ Get API key

CVE-2026-41564

CryptX versions before 0.088 for Perl do not reseed the Crypt::PK PRNG state after forking

7.5 HighFix available

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.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
High
Integrity
None
Availability
None

Exploit likelihood

0.43%Up 0.4 points since Apr 23, 2026
90%50%10%1%

What each source reports

CVE List Score used 7.5

CryptX versions before 0.088 for Perl do not reseed the Crypt::PK PRNG state after forking

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.

Record
CVE-2026-41564
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-335, CWE-338
Updated
2026-11-02
EUVDEUVD-2026-25201 7.5

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.

Record
EUVD-2026-25201
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
NVD 7.5

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.

Record
CVE-2026-41564
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-335, CWE-338
Updated
2026-11-02
OSVALPINE-CVE-2026-41564 7.5

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.

Record
ALPINE-CVE-2026-41564
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSV 7.5

CryptX versions before 0.088 for Perl do not reseed the Crypt::PK PRNG state after forking

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.

Record
CVE-2026-41564
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-335, CWE-338
Updated
2026-11-02
OSVDEBIAN-CVE-2026-41564 7.5

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.

Record
DEBIAN-CVE-2026-41564
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVUBUNTU-CVE-2026-41564 7.5

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.

Record
UBUNTU-CVE-2026-41564
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Updated
2026-11-02
OSVopenSUSE-SU-2026:10773-1 No score

perl-CryptX-0.89.0-1.1 on GA media

These are all security issues fixed in the perl-CryptX-0.89.0-1.1 package on the GA media of openSUSE Tumbleweed.

Record
openSUSE-SU-2026:10773-1
Updated
2026-11-02
OSVopenSUSE-SU-2026:20936-1 No score

Security update for perl-CryptX

This update for perl-CryptX fixes the following issues:

Changes in perl-CryptX:

  • updated to 0.89.0 (0.089) see /usr/share/doc/packages/perl-CryptX/Changes

    0.089 2026-05-10 - new: Crypt::ASN1 - new: Crypt::AuthEnc::SIV - new: Crypt::AuthEnc::XChaCha20Poly1305 - new: Crypt::Cipher::SM4 - new: Crypt::Digest::TurboSHAKE - new: Crypt::Digest::KangarooTwelve - new: Crypt::PK::Ed448 - new: Crypt::PK::X448 - new: Crypt::Stream::XChaCha - new: Crypt::Stream::XSalsa20 - Crypt::PK::Ed25519 - new functions: sign_message_ctx, verify_message_ctx, sign_message_ph, verify_message_ph - Crypt::Digest: object digest accessors now finalize the object; use reset() before reuse - Crypt::Mac + Crypt::AuthEnc: finalized-object lifecycle is now enforced consistently - security/hardening fixes across Digest/Mac/AuthEnc/Mode/Stream/PK/PRNG - fixes related to wycheproof test suite - documentation cleanup & improvements - support for RFC 8702 RSA-PSS-SHAKE128/256 and ECDSA-SHAKE128/256 - support for FRP256v1 elliptic-curve - bundled libtomcrypt update branch:develop (commit: 8b5af49b 2026-05-06) - CVE-2026-41565 bsc#1266804

    0.088 2026-04-23 - Crypt::KeyDerivation - new functions: pbkdf1_openssl, bcrypt_pbkdf, scrypt_pbkdf, argon2_pbkdf - Crypt::Misc - new functions: random_v7uuid, is_uuid - bundled libtomcrypt update branch:develop (commit: 2e441a17 2026-04-15) - bundled libtommath update branch:develop (commit: ae40a87 2026-04-20) - security fix CVE-2026-41564 https://github.com/DCIT/perl-CryptX/security/advisories/GHSA-24c2-gp6c-24c6 bsc#1262697 - CVE-2026-41565 bsc#1266804

Record
openSUSE-SU-2026:20936-1
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
perl-cryptx
Alpine:v3.20
before 0.088-r0
0.088-r0
perl-cryptx
Alpine:v3.21
before 0.088-r0
0.088-r0
perl-cryptx
Alpine:v3.22
before 0.088-r0
0.088-r0
perl-cryptx
Alpine:v3.23
before 0.088-r0
0.088-r0
perl-cryptx
Alpine:v3.24
before 0.088-r0
0.088-r0
libcryptx-perl
Debian:12
All versions, plus listed versions
0.077-10.078-10.080-10.080-20.081-1
Show 12 moreShow less
0.081-20.082-10.082.001-10.084-10.085-10.087-10.087-20.088-10.089-10.090-10.090-1~bpo13+10.091-1
None known
libcryptx-perl
Debian:13
before 0.085-1+deb13u1, plus listed versions
0.085-1
0.085-1+deb13u1
libcryptx-perl
Debian:14
before 0.087-2, plus listed versions
0.085-10.087-1
0.087-2
libcryptx-perl
Ubuntu:Pro:18.04:LTS
All versions, plus listed versions
0.055-10.056-10.056-1ubuntu0.1~esm1
None known
libcryptx-perl
Ubuntu:Pro:20.04:LTS
All versions, plus listed versions
0.064-10.064-1build10.066-10.067-10.067-1ubuntu0.1~esm1
None known
Show 7 moreShow less
Affected packages
PackageAffectedFixed
libcryptx-perl
Ubuntu:Pro:22.04:LTS
All versions, plus listed versions
0.069-1build10.073-10.074-10.075-10.076-10.076-1build10.076-1ubuntu0.1~esm1
None known
libcryptx-perl
Ubuntu:Pro:24.04:LTS
All versions, plus listed versions
0.078-10.080-10.080-20.080-2build10.080-2build20.080-2build30.080-2ubuntu0.1~esm1
None known
libcryptx-perl
Ubuntu:25.10
All versions, plus listed versions
0.085-10.087-1
None known
libcryptx-perl
Ubuntu:26.10
All versions, plus listed versions
0.087-10.089-10.090-10.090-1build1
None known
libcryptx-perl
Ubuntu:26.04:LTS
All versions, plus listed versions
0.087-1
None known
perl-CryptX
openSUSE:Tumbleweed
before 0.89.0-1.1
0.89.0-1.1
perl-CryptX
openSUSE:Leap 16.0
From an advisory covering 2 CVEs
before 0.89.0-bp160.1.1
0.89.0-bp160.1.1

History

History
RecordedChangedSources
affected, facts
first indexedCVE List, EUVD, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-41564 is a high vulnerability (CVSS 7.5) in Dcit Cryptx, published April 23, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.43%, the 37th percentile. Fixed in perl-cryptx 0.088-r0.

References

Show 12 moreShow less
MoveEnter Open