Refine your search
1 vulnerability found for open-object by maykinmedia
CVE-2026-82411 (GCVE-0-2026-82411)
Vulnerability from cvelistv5
Published
2026-10-28 22:40
Modified
2026-10-28 22:40
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-639 - Authorization Bypass Through User-Controlled Key
Summary
Open Object provides an API and admin interface to manage objects and object types. From 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}`. 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()`, so `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 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`, which 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.
References
| URL | Tags | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||||||||||||||||
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| maykinmedia | open-object |
Version: >= 2.4.3, < 2.5.1 Version: >= 3.0.0, < 3.6.2 Version: >= 4.0.0-rc.1, < 4.0.2 Version: >= 4.1.0, < 4.1.1 |
{
"containers": {
"cna": {
"affected": [
{
"product": "open-object",
"vendor": "maykinmedia",
"versions": [
{
"status": "affected",
"version": "\u003e= 2.4.3, \u003c 2.5.1"
},
{
"status": "affected",
"version": "\u003e= 3.0.0, \u003c 3.6.2"
},
{
"status": "affected",
"version": "\u003e= 4.0.0-rc.1, \u003c 4.0.2"
},
{
"status": "affected",
"version": "\u003e= 4.1.0, \u003c 4.1.1"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Open Object provides an API and admin interface to manage objects and object types. From 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}`. 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()`, so `check_object_permissions` and the per-object check in `ObjectTypeBasedPermission.has_object_permission` are not invoked. The queryset\u0027s `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\u0027s permitted ObjectType. The normal retrieve endpoint returns 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\u0027s complete versioned object `data`, which 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."
}
],
"metrics": [
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N",
"version": "3.1"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639: Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-10-28T22:40:13.728Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/maykinmedia/open-object/security/advisories/GHSA-55w6-rqp5-j5wx",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/maykinmedia/open-object/security/advisories/GHSA-55w6-rqp5-j5wx"
},
{
"name": "https://github.com/maykinmedia/open-object/commit/11c5b85ea5d1d80f940883f01b8b8ea80ccdd47c",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/maykinmedia/open-object/commit/11c5b85ea5d1d80f940883f01b8b8ea80ccdd47c"
},
{
"name": "https://github.com/maykinmedia/open-object/commit/27e806eff04c52ebe1e78126c288b63fc0308b52",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/maykinmedia/open-object/commit/27e806eff04c52ebe1e78126c288b63fc0308b52"
},
{
"name": "https://github.com/maykinmedia/open-object/commit/6154d9c2ed8c162b61f2d42db2de4eda5081347f",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/maykinmedia/open-object/commit/6154d9c2ed8c162b61f2d42db2de4eda5081347f"
},
{
"name": "https://github.com/maykinmedia/open-object/commit/ce6b1820619c843748bc5231597aa7fc060d95fe",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/maykinmedia/open-object/commit/ce6b1820619c843748bc5231597aa7fc060d95fe"
},
{
"name": "https://github.com/maykinmedia/open-object/tree/2.5.1",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/maykinmedia/open-object/tree/2.5.1"
},
{
"name": "https://github.com/maykinmedia/open-object/tree/3.6.2",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/maykinmedia/open-object/tree/3.6.2"
},
{
"name": "https://github.com/maykinmedia/open-object/tree/4.0.2",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/maykinmedia/open-object/tree/4.0.2"
},
{
"name": "https://github.com/maykinmedia/open-object/tree/4.1.1",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/maykinmedia/open-object/tree/4.1.1"
}
],
"source": {
"advisory": "GHSA-55w6-rqp5-j5wx",
"discovery": "UNKNOWN"
},
"title": "Objects API: Cross-object-type authorization bypass on the object history-detail endpoint"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-82411",
"datePublished": "2026-10-28T22:40:13.728Z",
"dateReserved": "2026-08-28T22:00:43.514Z",
"dateUpdated": "2026-10-28T22:40:13.728Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}