CVE-2026-18536 PUBLISHED

Data::Entropy versions before 0.010 for Perl read remote entropy sources over plain HTTP

Assigner: CPANSec
Reserved: 31.07.2026 Published: 01.08.2026 Updated: 01.08.2026

Data::Entropy versions before 0.010 for Perl read remote entropy sources over plain HTTP.

The Data::Entropy::RawSource::RandomOrg and Data::Entropy::RawSource::RandomnumbersInfo remote sources are accessed over plain HTTP.

The Data::Entropy::RawSource::RandomOrg integrity check trivially matches any non-empty byte string.

Any on-path attacker, such as open WiFi, a compromised ISP, captive portal, or a hostile egress proxy substitutes the response and thereby chooses the bytes returned by rand_bits and rand_int for every application that selected one of these sources via with_entropy_source. The _checkbuf method response is equally attacker-controlled, so the retry/sleep behaviour is steerable too.

Product Status

Vendor RRWO
Product Data::Entropy
Versions Default: unaffected
  • affected from 0 to 0.010 (excl.)

Workarounds

Deployments should not use the RandomOrg or RandomnumbersInfo sources, as these are flawed.

They have been removed from Data::Entropy 0.010. (There was a change to use HTTPS to connect to these sources in version 0.009 that did not work.)

Note that Data::Entropy has been deprecated since version 0.008. Users are advised to migrate to alternative solutions that use system sources of random data, such as Crypt::SysRandom, Crypt::URandom or Crypt::PRNG.

References

Problem Types

  • CWE-319 Cleartext Transmission of Sensitive Information CWE
  • CWE-353 Missing Support for Integrity Check CWE