Уязвимость Regular Expression Denial of Service (ReDoS) существует в библиотеке Hugging Face Transformers, в частности в функции `convert_t…
Уязвимость Regular Expression Denial of Service (ReDoS) существует в библиотеке Hugging Face Transformers, в частности в функции `convert_tf_weight_name_to_pt_weight_name()`. Эта функция, отвечающая за преобразование имен весов TensorFlow в формат PyTorch, использует шаблон регулярного выражения `/[^/]*___([^/]*)/`, который может быть использован для вызова чрезмерного потребления CPU посредством специально созданных входных строк из-за катастрофического возврата. Уязвимость затрагивает версии до 4.51.3 и исправлена в версии 4.53.0. Согласно источникам [1] и [2], дополнительная информация об этой уязвимости доступна на сайтах Huntr и GitHub. Источники: - [1] https://huntr.com/bounties/3f8b3fd0-166b-46e7-b60f-60dd9d2678bf - [2] https://github.com/huggingface/transformers/commit/944b56000be5e9b61af8301aa340838770ad8a0b
Продукт использует регулярное выражение с неэффективной, возможно экспоненциальной вычислительной сложностью в худшем случае, что ведёт к избыточному потреблению ресурсов CPU.
https://cwe.mitre.org/data/definitions/1333.html →Открыть в коллекции CWE →Злоумышленник может реализовать атаку на программу, использующую неэффективную реализацию регулярных выражений (Regex), подобрав входные данные, приводящие к крайне неблагоприятному сценарию работы Regex. Типичный крайний сценарий характеризуется экспоненциальным временем работы относительно размера входных данных. Это объясняется тем, что большинство реализаций использует недетерминированный конечный автомат (NFA) в качестве основы алгоритма Regex, поскольку NFA допускает обратный просмотр и тем самым поддерживает более сложные регулярные выражения.
https://capec.mitre.org/data/definitions/492.html →Открыть в коллекции CAPEC →