Data::Entropy versions before 0.010 for Perl read remote entropy sources over plain HTTP. The Data::Entropy::RawSource::RandomOrg and…
CPANSec·CWE-319·Published 2026-08-01
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.
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.
Las versiones de Data::Entropy anteriores a la 0.010 para Perl leen fuentes de entropía remotas a través de HTTP sin cifrar. Se accede a las fuentes remotas Data::Entropy::RawSource::RandomOrg y Data::Entropy::RawSource::RandomnumbersInfo a través de HTTP sin cifrar. La verificación de integridad de Data::Entropy::RawSource::RandomOrg coincide trivialmente con cualquier cadena de bytes no vacía. Cualquier atacante en la ruta, como una red WiFi abierta, un ISP comprometido, un portal cautivo o un proxy de salida hostil, sustituye la respuesta y de este modo elige los bytes devueltos por rand_bits y rand_int para cada aplicación que seleccionó una de estas fuentes a través de with_entropy_source. La respuesta del método _checkbuf está igualmente controlada por el atacante, por lo que el comportamiento de reintento/espera también es dirigible.
| Version | Type | Source | Base | Exp | Impact | Vector |
|---|---|---|---|---|---|---|
| 3.1 | Primary | cve.org | 7.5 | — | — | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| 3.1 | Secondary | NVD | 7.5 | 3.9 | 3.6 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |
| 3.1 | Secondary | ENISA EUVD | 7.5 | — | — | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N |