CVE-2026-91846 PUBLISHED

MISP Collection Element Add Missing Authorization on Referenced Object UUID

Assigner: CIRCL
Reserved: 15.09.2026 Published: 15.09.2026 Updated: 15.09.2026

Affected versions of MISP allow a collection element to be created from a bare UUID without consistently checking whether the acting user is allowed to access the referenced object.

The commit explains that collection elements themselves only store UUIDs, while the collection view later resolves those UUIDs into their underlying objects. Before this fix, the generic add() path could therefore persist a UUID for an Event or Galaxy Cluster that the caller could not normally read. The patch explicitly notes that this made collections a way to reference another organisation’s private data and had caused disclosure of organisation-only events in the beta collection view.

The fix centralizes authorization in __assertCanUseElements(). Event UUIDs are validated through Event::fetchSimpleEvent() under the current user’s ACL, while Galaxy Cluster UUIDs are checked through GalaxyCluster::fetchGalaxyClusters(). The check is applied both to the CRUD add() path and to addElementToCollection().

Version affected: ≤2.5.45

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
CVSS Score: 7.1

Product Status

Vendor MISP
Product MISP
Versions
  • affected from 0 to 2.5.46 (excl.)

Solutions

The fix introduces a dedicated __assertCanUseElements() authorization guard that is invoked in the beforeSave callback of the add() CRUD path (covering both form and REST submission) and in addElementToCollection(). For each element UUID, the method resolves the element type (deducing it if the caller omitted the field, preventing bypass by omission) and performs an ACL-aware lookup: for Events it calls fetchSimpleEvent() scoped to the current user, and for GalaxyClusters it calls fetchGalaxyClusters() with the user context. If the object does not exist or the caller lacks access, a NotFoundException is raised and the save is aborted. This ensures that no collection element can reference an object the caller is not authorized to read.

Credits

  • iglocska remediation developer
  • Claude Opus 5 (1M context) remediation developer

References

Problem Types

  • CWE-862 Missing Authorization CWE
  • CWE-639 Authorization Bypass Through User-Controlled Key CWE

Impacts

  • CAPEC-1 Accessing Functionality Not Properly Constrained by ACLs