Уязвимость типа «отказ в обслуживании» была обнаружена в файле misp-stix при обработке контролируемых злоумышленником документов STIX 1 или STIX 2. Код импорта STIX использовал sys.exit() для обработки нескольких ошибок синтаксического анализа и загрузки. Поскольку SystemExit наследует от BaseException, а не от Exception, эти сбои обходили обработчики исключений, используемые вызывающими объектами библиотеки.
В результате искаженный документ STIX может завершить длительный процесс импорта вместо возврата устранимой ошибки синтаксического анализа. Кроме того, не было ограничений на размер документов STIX перед анализом. Таким образом, представленный документ был прочитан и материализован в памяти до того, как была оценена его достоверность или тип.
В зависимости от документа и пути синтаксического анализа обработка может занимать примерно в два-семь раз больше входного объема памяти, что позволяет достаточно большому документу STIX вызвать чрезмерную нагрузку на память и процессор и потенциально привести к прекращению или серьезному ухудшению работы службы импорта. Злоумышленник, способный предоставить содержимое STIX в рабочий процесс импорта MISP-STIX, может использовать любое условие, чтобы повлиять на доступность. Неверный формат документа может привести к ненормальному завершению процесса из-за неперехваченного SystemExit, а большой документ может привести к истощению ресурсов во время десериализации и преобразования.
Исправления заменяют завершающие процесс вызовы sys.exit() перехватываемыми исключениями, такими как STIXLoadingError и MissingSTIXContentError, а также расширяют обработку исключений для всего процесса обнаружения и преобразования STIX. Импортер также теперь устанавливает ограничение на размер входных данных перед анализом. Максимальный размер по умолчанию составляет 100 МБ, он может быть изменен вызывающими абонентами и может быть явно отключен при необходимости.
Входные данные STIX 1 дополнительно проверяются на наличие ожидаемого корневого элемента перед построением полного XML-дерева. ПоследствияУспешная эксплуатация может привести к:
* прекращение деятельности давнего импортера MISP-STIX;
* чрезмерное выделение памяти;
* чрезмерное потребление процессора;
* ухудшение качества или временная недоступность услуг, зависящих от конвертера;
* прерывание пакетных или автоматических рабочих процессов приема STIX.
Показать оригинальное описание (EN)
A denial-of-service vulnerability was identified in misp-stix when processing attacker-controlled STIX 1 or STIX 2 documents. The STIX import code used sys.exit() to handle several parsing and loading failures. Because SystemExit inherits from BaseException rather than Exception, these failures bypassed the exception handlers used by callers of the library. As a result, a malformed STIX document could terminate a long-running importer process instead of returning a recoverable parsing error. Additionally, no limit was imposed on the size of STIX documents before parsing. A submitted document was therefore read and materialised in memory before its validity or type was evaluated. Depending on the document and parsing path, processing could consume approximately two to seven times the input size in memory, allowing a sufficiently large STIX document to cause excessive memory and CPU consumption and potentially terminate or severely degrade the importing service. An attacker able to provide STIX content to a MISP-STIX import workflow could exploit either condition to affect availability. A malformed document could cause abnormal process termination through an uncaught SystemExit, while a large document could exhaust resources during deserialisation and conversion. The fixes replace process-terminating sys.exit() calls with catchable exceptions such as STIXLoadingError and MissingSTIXContentError, and extend exception handling around the complete STIX detection and conversion process. The importer also now enforces an input-size limit before parsing. The default maximum is 100 MB, can be adjusted by callers, and can explicitly be disabled when required. STIX 1 inputs are additionally checked for the expected root element before the complete XML tree is constructed. ImpactSuccessful exploitation can cause: * termination of a long-running MISP-STIX importer; * excessive memory allocation; * excessive CPU consumption; * degradation or temporary unavailability of services relying on the converter; * interruption of batch or automated STIX ingestion workflows.
Характеристики атаки
Последствия
Строка CVSS v4.0