Уязвимость в функции `preprocess_string()` модуля `transformers.testing_utils` в huggingface/transformers версии v4.48.3 позволяет провести…
Уязвимость в функции `preprocess_string()` модуля `transformers.testing_utils` в huggingface/transformers версии v4.48.3 позволяет провести атаку Regular Expression Denial of Service (ReDoS). Регулярное выражение, используемое для обработки блоков кода в docstrings, содержит вложенные квантификаторы, что приводит к экспоненциальному backtracking при обработке входных данных с большим количеством символов новой строки. Злоумышленник может эксплуатировать это, предоставив специально созданный payload, вызывающий высокую загрузку CPU и потенциальный простой приложения, что фактически приводит к сценарию Denial of Service (DoS) [1]. Источники: - [1] https://huntr.com/bounties/97b780f3-ffca-424f-ad5d-0e1c57a5bde4 - [2] https://github.com/huggingface/transformers/commit/8cb522b4190bd556ce51be04942720650b1a3e57
Продукт использует регулярное выражение с неэффективной, возможно экспоненциальной вычислительной сложностью в худшем случае, что ведёт к избыточному потреблению ресурсов CPU.
https://cwe.mitre.org/data/definitions/1333.html →Открыть в коллекции CWE →Злоумышленник может реализовать атаку на программу, использующую неэффективную реализацию регулярных выражений (Regex), подобрав входные данные, приводящие к крайне неблагоприятному сценарию работы Regex. Типичный крайний сценарий характеризуется экспоненциальным временем работы относительно размера входных данных. Это объясняется тем, что большинство реализаций использует недетерминированный конечный автомат (NFA) в качестве основы алгоритма Regex, поскольку NFA допускает обратный просмотр и тем самым поддерживает более сложные регулярные выражения.
https://capec.mitre.org/data/definitions/492.html →Открыть в коллекции CAPEC →