CryptX versions before 0.088 for Perl do not reseed the Crypt::PK PRNG state after forking
CryptX library for Perl doesn't reset its random number generator after a process splits (forks), causing child processes to generate identical cryptographic keys and signatures. This is dangerous in web servers that start with shared cryptographic objects, as attackers could recover private keys.
CryptX Crypt::PK modules initialize PRNG state in constructors without fork detection, causing child processes inheriting pre-fork objects to produce byte-identical random output. Affected operations include key generation and ECDSA/DSA signing; two signatures from different processes enable nonce-reuse attacks to recover the signing private key. Vector: preforking server architectures (e.g., Starman) where Crypt::PK objects are loaded at startup and inherited by workers.
Want to know if your infrastructure is exposed to this?
Talk to TrueHacking →