CVE-2026-82411 - Objects API Cross-object-type Authorization Bypass
CVE-2026-82411 - Objects API: Cross-object-type Authorization Bypass
Open Object provides an API and admin interface to manage objects and object types. From versions 2.4.3 until 2.5.1, 3.6.2, 4.0.2, and 4.1.1, a token scoped to read one ObjectType can read the full versioned record of an object of any other ObjectType via the history-detail endpoint GET /api/v2/objects/{uuid}/{index}. This vulnerability is remotely exploitable. 🚨
The history_detail action in src/objects/api/v2/views.py calls self.get_queryset() and get_object_or_404 directly instead of self.get_object(). As a result, check_object_permissions and the per-object check in ObjectTypeBasedPermission.has_object_permission are not invoked. The queryset’s filter_for_token applies only to the list and search actions, while ObjectTypeBasedPermission.has_permission allows non-create actions, leaving neither check to constrain history-detail records to the token’s permitted ObjectType. The normal retrieve endpoint returns a 403 for the same unauthorized object, and the sibling history action enforces the grant.
Any valid non-superuser API token with a read grant on at least one ObjectType can therefore disclose another ObjectType’s complete versioned object data. This data can include citizen or case records and sensitive identifiers in government deployments. This issue is fixed in versions 2.5.1, 3.6.2, 4.0.2, and 4.1.1. Update Open Object to a fixed version to resolve unauthorized access to object history. Updates include version 2.5.1 or later, version 3.6.2 or later, version 4.0.2 or later, and version 4.1.1 or later.
For more details, you can read the complete article here: Read full article