V
Сканер-ВС
ГлавнаяКаталогИсточникиCWECAPECATT&CKМеры защитыПродуктыВендорыДокументация
← Вернуться к списку
CWE-674КлассЧерновик
Абстракция: Класс
Статус: Черновик
Источник ↗

Неконтролируемая рекурсия

Программный продукт не обеспечивает надлежащего контроля за глубиной рекурсии, что приводит к избыточному потреблению ресурсов, таких как выделенная память или стек программы.

Открыть в каталоге с фильтром CWE →

Связанные уязвимости

CVE-2026-43185В ядре Linux устранена следующая уязвимость: ksmbd: исправление зарегистрированного бага в smb_direct_prepare_degotiation() smb_direct_prepare_pregotiation() отбрасывает неподписанное значение __u32 от sp->max_recv_ize и req->preferred_send_ize к подписанному int перед вычислением min_t(int, ...). Злонамеренно предоставленный enter_send_размер 0x80000000 вернется как меньший, чем max_recv_size, а затем использовать для установки максимально допустимого разрешено получать размер для следующего сообщения. Отправляя второе сообщение с большим значением (> 1420 байт) Затем злоумышленник может достичь переполнения буфера кучу. Это исправление заменяет min_t(int, ...) на min_t(u32)
CVE-2026-25971ImageMagick - это бесплатное программное обеспечение с открытым исходным кодом, используемое для редактирования и манипулирования цифровыми изображениями. До версий 7.1.2-15 и 6.9.13-40 Magick не может проверить наличие круговых ссылок между двумя MSL, что приводит к переполнению стека. Версии 7.1.2-15 и 6.9.13-40 содержат патч.
CVE-2023-51803LinuxServer.io Heimdall версии до 2.5.7 не предотвращает использование значков, содержащих данные, отличные от изображений, например подстроку "<?php ?>".
CVE-2021-41752Уязвимость переполнения стека в Jerryscript до коммита e1ce7dd7271288be8c0c8136eea9107df73a8ce2 от 20 октября 2021 г. из-за неограниченного рекурсивного вызова новой функции opt().
CVE-2018-1000618EOSIO/eos eos версия после коммита f1545dd0ae2b77580c2236fdb70ae7138d2c7168 содержит уязвимость переполнения стека в abi_serializer, которая может привести к атаке на узел сети eos. Эта атака, по-видимому, может быть использована через сетевой запрос. Эта уязвимость, по-видимому, была исправлена после коммита cf7209e703e6d3f7a5413e0cb1fe88a4d8e4b38d.
CVE-2015-8389PCRE до версии 8.38 неправильно обрабатывает шаблон /(?:|a|){100}x/ и связанные с ним шаблоны, что позволяет удаленным злоумышленникам вызывать отказ в обслуживании (бесконечная рекурсия) или, возможно, оказывать другое неуказанное воздействие через специально созданное регулярное выражение, как продемонстрировано объектом JavaScript RegExp, обнаруженным Konqueror.
CVE-2025-10728Когда модуль отображает файл Svg, содержащий элемент <pattern>, он может в конечном итоге отредактировать его рекурсивно, приводя к переливу стека DoS.
CVE-2026-40324Горячий шоколад - это сервер GraphQL с открытым исходным кодом. До версий 12.22.7, 13.9.16, 14.3.1 и 15.1.14 рекурсивный спусковой парсер `Utf8GraphQLParser от Hot Chocolate не имеет предела глубины рекурсии. Сформированный документ GraphQL с глубоко вложенными наборами выбора, значениями объектов, значениями списка или типами списков может вызвать «StackOverflowException» на полезных нагрузках размером до 40 КБ. Поскольку «StackOverflowException` недоступен в .NET (с .NET 2.0), весь рабочий процесс немедленно прекращается. Все HTTP-запросы в полете, фоновые `IHostedService` задачи и открытые подписки WebSocket на этого работника отклоняются. Оркестр (Кубернеты, IIS и т.д.) должен перезапустить процесс. Это происходит до запуска каких-либо правил проверки — «MaxExecutionDepth`», анализаторы сложности, сохраняющиеся списки запросов и пользовательские «идоктимацииValidatorRule» не могут перехватить сбой, потому что `Utf8GraphQLParser` используется перед подтверждением. Лимит `MaxAllowedFields=2048` не помогает, потому что разбиваемые полезные нагрузки содержат очень мало полей. Исправление в версиях 12.22.7, 13.9.16, 14.3.1 и 15.1.14 добавляет опцию «MaxAllowedRecursionDepth`» в «ПарсерСофты» с безопасным по умолчанию и применяет его к любому рекурсивному методу парсера («ParseSelectionSet», «ParseValueLiteral», «ParseObject`», «ParseTList» («Парсовое разбирательство» (ParseT. Когда предел превышен, ловкий `SytaxException' бросок вместо того, чтобы переполнять стек. Отсутствует обходной ход на уровне приложений. «StackOverflowException` нельзя поймать в .NET. Единственное смягчение - это обновление до исправленной версии. Операторы могут снизить (но не устранить) риск, ограничивая размер тела HTTP-запроса на обратный прокси или балансировщик нагрузки, хотя наименьшая сбойная полезная нагрузка (40 KB) значительно ниже большинства пределов размера тела по умолчанию и очень сжимается (~ несколько сотен байтов через gzip).
CVE-2019-9545Проблема обнаружена в Poppler 0.74.0. Рекурсивный вызов функции, в JBIG2Stream::readTextRegion(), расположенной в JBIG2Stream.cc, может быть вызван отправкой специально созданного pdf-файла (например) в бинарный файл pdfimages. Это позволяет злоумышленнику вызвать отказ в обслуживании (ошибку сегментации) или, возможно, иметь другие неуказанные последствия. Это связано с JBIG2Bitmap::clearToZero.
CVE-2026-9740Уязвимость в логике проверки BSON от MongoDB Server позволяет неаудовлетворенному пользователю сбиться с процессом Mongod, отправив специально созданное сообщение. Обработка валидатора BSON некоторыми вложенными бинринными структурами данных позволяет неконтролируемую взаимную переработку между функциями проверки, когда каждый повторный вход сбрасывает внутреннее отслеживание глубины.
CVE-2026-41673xmldom - это чистый стандартный на основе JavaScript W3C (XML DOM Level 2 Core) `DOMParser` и `XMLSerializer` модулей. В @xmldom/xmldom до версий 0.9.10 и 0.8.13 и xmddom версии 0.6.0 и ранее, семь рекурсивных обходов в lib/dom.js работают без ограничения глубины. Достаточно глубоко вложенное дерево DOM вызывает RangeRror: максимальный размер стека вызовов превышен, разбивая приложение. Эта проблема была исправлена в версиях @xmldom/xmldom версий 0.9.10 и 0.8.13.
CVE-2026-41636Неконтролируемая рекурсия уязвимость в Apache Thrift Node.js Эта проблема затрагивает Apache Thrift: до 0.23.0. Пользователям рекомендуется обновиться до версии 0.23.0, которая устраняет проблему.
CVE-2026-3520Multer - это промежуточное повесток дня node.js для обработки 'multipart/form-data`. Уязвимость в Multer до версии 2.1.1 позволяет злоумышленнику инициировать отказ в обслуживании (DoS), отправляя уродливые запросы, что может привести к переполнению стека. Пользователи должны обновиться до версии 2.1.1, чтобы получить патч. Известные обходные действия не доступны.
CVE-2026-33498Parse Server - это бэкенд с открытым исходным кодом, который может быть развернут в любой инфраструктуре, которая может работать под управлением Node.js. До версий 8.6.55 и 9.6.0-альфа.44 злоумышленник может отправить неаутентифицированный HTTP-запрос с глубоко вложенным запросом, содержащим логических операторов, чтобы навсегда повесить процесс Parse Server. Сервер становится полностью невосприимчивым и должен быть перезагружен вручную. Это обход фиксации для CVE-2026-32944. Этот выпуск был исправлен в версиях 8.6.55 и 9.6.0-альфа.44.
CVE-2026-32944Parse Server - это бэкэнд с открытым исходным кодом, который может быть развернут в любой инфраструктуре, которая может запускать Node.js. До 9.6.0-альфа.21 и 8.6.45 без аутентификации злоумышленник может сломать процесс Parse Server, отправив один запрос с глубоко вложенными операторами условий запроса. Это прекращает работу сервера и отказывает в обслуживании всем подключенным клиентам. Начиная с версий 9.6.0-alpha.21 и 8.6.45, предел глубины для гнездования оператора состояния запросов был добавлен через опцию «requestComplexity.queryDepth` сервер». Опция отключена по умолчанию, чтобы избежать сбоя. Чтобы смягчить, обновить и установить опцию до значения, подходящего для вашего приложения. Известных обходных путей не имеется.