CVE-2026-56422: MISP Core: Mass Assignment and Object Re-ownership via Unvalidated Request Fields
Multiple MISP core controllers and model capture paths accepted client-controlled request fields such as primary keys (id) and ownership/scope foreign keys (eventid, orgid, userid, sharinggroupid, galaxyclusteruuid, organisationuuid, and related nested object identifiers) without consistently stripping, pinning, or revalidating them against the server-authorized object.
In affected paths, an authenticated user with access to one authorized object could submit crafted REST or form payloads that caused MISP to save data against a different object than the one checked by the authorization logic. Depending on the endpoint, this could allow object overwrite, object re-parenting, ownership transfer, unauthorized sharing-group scoping, event/object injection, proposal retargeting, or stored attacker-controlled content appearing in another user’s context.
The fixes harden affected create/edit/import flows by stripping client-supplied primary keys on create-only saves, re-pinning route- or database-authorized identifiers before save operations, validating effective sharing-group scope, and adding field whitelists where ownership fields must never be editable. The initial broad fix also added a central CRUDComponent::edit() primary-key re-pin so payload-supplied IDs cannot redirect saves away from the already-authorized row. GitHub’s patch for 7acf8220c describes this central issue as CRUDComponent::edit() copying supplied fields, including a payload primary key, onto the loaded record, allowing CakePHP save() to update an arbitrary row unless the loaded ID is re-pinned.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade to a fixed release to a version that resolves this vulnerability.
Patch 7acf8220c - Configuration
Re-pin the loaded record's primary key (ID) from the route or database-authorized context inside CRUDComponent::edit() before calling save(), so payload-supplied IDs cannot redirect saves away from the already-authorized row.
CRUDComponent::edit primary_key_repin = enabled - Configuration
Strip client-supplied primary keys (id) on create-only saves so that 'id' provided by the client is not copied onto newly-created records.
create/save/import flows strip_client_supplied_primary_keys_on_create = true - Configuration
Add field whitelists and ensure ownership/scope foreign-key fields (event_id, org_id, user_id, sharing_group_id, galaxy_cluster_uuid, organisation_uuid, and related nested object identifiers) are never editable from client-supplied payloads.
MISP core model/controller create/edit/import flows ownership_fields_editable = false for event_id, org_id, user_id, sharing_group_id, galaxy_cluster_uuid, organisation_uuid, and related nested object identifiers - Configuration
Validate effective sharing-group scope server-side before saving objects to prevent unauthorized sharing-group scoping changes from client-supplied fields.
sharing-group scope validation validate_effective_sharing_group_scope = true
Event History
Frequently Asked Questions
What is the severity of CVE-2026-56422?
CVE-2026-56422 has a critical severity rating of 9.4 on the CVSS scale.
What type of vulnerability is CVE-2026-56422?
CVE-2026-56422 is classified as a mass assignment and object re-ownership vulnerability occurring in MISP Core.
How does CVE-2026-56422 impact MISP Core?
CVE-2026-56422 allows attackers to manipulate client-controlled request fields, potentially gaining unauthorized access to sensitive data.
How do I fix CVE-2026-56422?
Fixing CVE-2026-56422 involves updating to the latest patched version of MISP Core that addresses the mass assignment vulnerability.
When was CVE-2026-56422 published?
CVE-2026-56422 was published on June 22, 2026.