Версии Data::Entropy до 0.010 для Perl считывают удаленные источники энтропии через простой HTTP. Доступ к удаленным источникам Data::Entropy::RawSource::RandomOrg и Data::Entropy::RawSource::RandomnumbersInfo осуществляется через простой HTTP. Проверка целостности Data::Entropy::RawSource::RandomOrg тривиально соответствует любой непустой строке байтов.
Любой злоумышленник на пути, например открытый Wi-Fi, скомпрометированный интернет-провайдер, перехватывающий портал или враждебный выходной прокси-сервер, подменяет ответ и тем самым выбирает байты, возвращаемые rand_bits и rand_int для каждого приложения, которое выбрало один из этих источников через with_entropy_source. Ответ метода _checkbuf в равной степени контролируется злоумышленником, поэтому поведением повтора/перехода в режим сна также можно управлять.
Показать оригинальное описание (EN)
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.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Rrwo Data\
cpe:2.3:a:rrwo:data\:\:entropy:*:*:*:*:*:perl:*:*
|
— |
0.010
|