Forge (также называемый node-forge) — это собственная реализация безопасности транспортного уровня в JavaScript. До версии 1.4.0 в библиотеке node-forge существовала уязвимость типа «отказ в обслуживании» (DoS) из-за бесконечного цикла в функции BigInteger.modInverse() (унаследованной из встроенной библиотеки jsbn). Когда modInverse() вызывается с нулевым значением на входе, внутренний расширенный алгоритм Евклида вводит недостижимое условие выхода, в результате чего процесс зависает на неопределенный срок и потребляет 100% ресурсов ЦП.
Версия 1.4.0 исправляет проблему.
Показать оригинальное описание (EN)
Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, a Denial of Service (DoS) vulnerability exists in the node-forge library due to an infinite loop in the BigInteger.modInverse() function (inherited from the bundled jsbn library). When modInverse() is called with a zero value as input, the internal Extended Euclidean Algorithm enters an unreachable exit condition, causing the process to hang indefinitely and consume 100% CPU. Version 1.4.0 patches the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1