CVE-2026-77710 Overview
CVE-2026-77710 affects the misp-stix library, which converts STIX (Structured Threat Information Expression) documents to and from MISP (Malware Information Sharing Platform) format. The vulnerability allows a crafted STIX document to influence security-sensitive MISP attribute metadata during import. An attacker can spoof indicators that identify a document as MISP-generated, then inject unexpected attribute properties such as distribution, sharing_group_id, or tags into the resulting MISP objects. This can override the importing organization's sharing policy and manipulate downstream automation that trusts attribute metadata.
Critical Impact
A crafted STIX bundle can alter distribution, sharing restrictions, and classification metadata on imported MISP attributes, causing threat intelligence to be shared outside intended boundaries.
Affected Products
- MISP misp-stix converter library
- STIX1 import path via stix1_to_misp_helpers
- STIX2 import path via stix2_custom_object_converter
Discovery Timeline
- 2026-08-21 - CVE-2026-77710 published to NVD
- 2026-08-26 - Last updated in NVD database
Technical Details for CVE-2026-77710
Vulnerability Analysis
The flaw combines two related weaknesses in the misp-stix import pipeline. First, parser selection between the internal MISP parser and the external STIX parser relied on attacker-controllable content: STIX2 tool labels and STIX1 document titles. Any STIX producer can write these values, so they cannot serve as a trust boundary. This matches CWE-807, where an untrusted input drives a security-relevant decision.
Second, when STIX2 content was classified as an internal MISP export, the converter processed x-misp-object entries by copying the full x_misp_attributes dictionary directly into misp_object.add_attribute(). No allow-list restricted which fields could pass through. This matches CWE-915, the dynamic assignment of externally supplied object properties.
The overall attack pattern aligns with CAPEC-153 (Input Data Manipulation), where an attacker shapes input flags so the target selects a different processing path.
Root Cause
The root cause is missing input validation on STIX-supplied fields combined with a trust decision made from attacker-controllable metadata. The parser assumed that MISP-specific labels and titles were authentic origin markers, and it assumed that x_misp_attributes contained only round-trip fields.
Attack Vector
An attacker submits a crafted STIX document to an organization that imports third-party STIX feeds through misp-stix. By adding MISP-specific tool labels (STIX2) or a matching header title (STIX1), the attacker steers the importer into the internal parser path. The attacker then embeds fields like distribution, sharing_group_id, or tags inside x_misp_attributes, and those values are written onto the resulting MISP attribute.
# Patch: Allow-list of Custom object attribute fields
# Source: https://github.com/MISP/misp-stix/commit/66c654b9
_attribute_additional_fields = (
'category', 'comment', 'data', 'to_ids', 'uuid'
)
# Mirrors what the export side writes into `x_misp_attributes` — anything else
# is not part of the round-trip contract and never comes from STIX content
_object_attribute_fields = (
'type', 'object_relation', 'value', *_attribute_additional_fields
)
_CUSTOM_OBJECT_TYPING = Union[
CustomObject_v20, CustomObject_v21
]
Detection Methods for CVE-2026-77710
Indicators of Compromise
- MISP attributes imported from external STIX feeds that carry unexpected distribution levels or sharing_group_id values inconsistent with the feed's ingestion policy.
- STIX2 bundles from external sources containing tool objects with MISP-specific labels, or STIX1 packages whose titles mimic MISP export headers.
- x-misp-object entries in third-party STIX2 content whose x_misp_attributes include fields beyond type, object_relation, value, category, comment, data, to_ids, and uuid.
Detection Strategies
- Audit MISP event history for attributes whose distribution scope was elevated at import time by a non-interactive feed workflow.
- Compare imported attribute schemas against the allow-list defined in the patch and flag documents that supplied extra fields.
- Log the classification decision (internal vs external) made by misp-stix for each imported document and alert on external feeds classified as internal.
Monitoring Recommendations
- Enable verbose logging on the misp_stix_converter package to capture parser-selection decisions during import.
- Track feed-to-attribute lineage in the MISP audit log to detect tag or sharing changes tied to specific external sources.
- Review scheduled STIX import jobs weekly for anomalous producer identifiers or newly appearing MISP-style labels in third-party feeds.
How to Mitigate CVE-2026-77710
Immediate Actions Required
- Upgrade misp-stix to the version containing commits 3e5e7bda and 66c654b9, which introduce the classification override parameter and the attribute field allow-list.
- Pass --classification external when importing any third-party STIX content to force the external parser path.
- Re-review recently imported STIX feeds and reset the distribution and sharing group of attributes that were promoted at import time.
Patch Information
The fix is delivered in two commits. The import classification override adds an explicit --classification parameter so callers, not document content, decide the trust classification. The custom object allow-list restricts x_misp_attributes to the fields defined by the export round-trip contract.
# CLI parameter added by the patch
# Source: https://github.com/MISP/misp-stix/commit/3e5e7bda
import_parser.add_argument(
'--classification', choices=['internal', 'external'], default=None,
help='Classification of the STIX content to import: `internal` for '
'content exported from MISP, `external` for third-party content. '
'When not set, the classification is detected from the content '
'itself.'
)
Workarounds
- Restrict STIX imports to feeds from vetted producers until the patched version is deployed.
- Wrap the misp-stix import call to pre-strip MISP-specific tool labels and titles from external STIX bundles before parsing.
- Constrain the MISP importing account to a low-privilege distribution scope so any injected sharing_group_id cannot exceed policy.
# Configuration example: force external classification for third-party feeds
misp_stix_converter import \
--classification external \
--distribution 0 \
--input /path/to/third_party_feed.json
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

