CVE-2026-77755: Denial of Service in MISP-STIX Import via Malformed or Oversized STIX Documents in misp-stix library
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Set/enforce the configured maximum size for STIX documents before parsing (default maximum is 100 MB); adjust it as needed by callers and do not disable it unless explicitly required.
MISP-STIX import workflow (STIX input size limit) maximum STIX document size before parsing = 100 MB default
Event History
Frequently Asked Questions
Who is exposed to this issue?
Organizations are exposed if they run a MISP-STIX import workflow that accepts STIX 1 or STIX 2 content from an attacker or other untrusted source. The impact is on the availability of the importer process or service.
What does an attacker need to exploit it?
An attacker needs the ability to submit STIX content to the import workflow. They can use a malformed document to trigger an uncaught SystemExit or a sufficiently large document to drive excessive memory and CPU use.
Is a valid STIX document required for the resource-exhaustion condition?
No. Submitted documents are read and materialized in memory before their validity or type is evaluated. Processing may consume roughly two to seven times the input size, depending on the document and parsing path.
How can this affect an importer that catches parsing exceptions?
The affected import code used sys.exit() for certain parsing and loading failures. This raises SystemExit, which inherits from BaseException rather than Exception, so handlers that catch Exception do not intercept it and the importer process can terminate.