Версии Crypt::NaCl::Sodium для Perl до 2.002 могут потенциально вызывать целочисленные переполнения. Функции bin2hex, encrypt, aes256gcm_encrypt_afternm и уплотнение не проверяют, будет ли выходной размер меньше SIZE_MAX, что может привести к переносу целых чисел, что приведет к уменьшению размера выходного буфера. Столкновение с этой проблемой маловероятно, поскольку длина сообщения должна быть очень большой.
Для bin2hex() значение bin_len должно быть > SIZE_MAX / 2. Для encrypt() значение msg_len должно быть > SIZE_MAX - 16U. Для aes256gcm_encrypt_afternm() значение msg_len должно быть > SIZE_MAX - 16U.
Для уплотнения() значение enc_len должно быть > SIZE_MAX - 64U.
Показать оригинальное описание (EN)
Crypt::NaCl::Sodium versions through 2.002 for Perl has potential integer overflows. bin2hex, encrypt, aes256gcm_encrypt_afternm and seal functions do not check that output size will be less than SIZE_MAX, which could lead to integer wraparound causing an undersized output buffer. Encountering this issue is unlikely as the message length would need to be very large. For bin2hex() the bin_len would have to be > SIZE_MAX / 2 For encrypt() the msg_len would need to be > SIZE_MAX - 16U For aes256gcm_encrypt_afternm() the msg_len would need to be > SIZE_MAX - 16U For seal() the enc_len would need to be > SIZE_MAX - 64U
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Timlegge Crypt\
cpe:2.3:a:timlegge:crypt\:\:nacl\:\:sodium:*:*:*:*:*:perl:*:*
|
— |
2.003
|