Description
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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
RRWO Data::Entropy
Default version status: unaffected
0 to < 0.010affected
References
- https://github.com/robrwo/Data-Entropy/security/advisories/GHSA-845w-rcqw-jwvv ↗
- https://metacpan.org/release/RRWO/Data-Entropy-0.010/changes ↗
- https://metacpan.org/release/RRWO/Data-Entropy-0.008/view/lib/Data/Entropy.pm#STATUS ↗
- https://security.metacpan.org/docs/guides/random-data-for-security.html ↗
- http://www.openwall.com/lists/oss-security/2026/08/01/8 ↗