CVE-2026-55881 (GCVE-0-2026-55881)
Vulnerability from cvelistv5
Published
2026-07-10 20:44
Modified
2026-07-13 14:12
Severity ?
VLAI Severity ?
EPSS score ?
CWE
- CWE-639 - Authorization Bypass Through User-Controlled Key
Summary
OpenReplay is a self-hosted session replay suite. From 1.22.0 before 1.27.0, getFirstMob returned 15-second presigned S3 download URLs for a session's DOM-replay recording based solely on the session path parameter, while validateProjectAccess checked only that the project belonged to the requester's tenant and did not verify that the session belonged to that project, allowing any authenticated low-privilege user to read another tenant's first 15 seconds of session-replay recording data. This issue is fixed in version 1.27.0.
References
| URL | Tags | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||||||||||||
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| openreplay | openreplay |
Version: >= 1.22.0, < 1.27.0 |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2026-55881",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2026-07-13T14:12:11.588758Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2026-07-13T14:12:24.593Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"product": "openreplay",
"vendor": "openreplay",
"versions": [
{
"status": "affected",
"version": "\u003e= 1.22.0, \u003c 1.27.0"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "OpenReplay is a self-hosted session replay suite. From 1.22.0 before 1.27.0, getFirstMob returned 15-second presigned S3 download URLs for a session\u0027s DOM-replay recording based solely on the session path parameter, while validateProjectAccess checked only that the project belonged to the requester\u0027s tenant and did not verify that the session belonged to that project, allowing any authenticated low-privilege user to read another tenant\u0027s first 15 seconds of session-replay recording data. This issue is fixed in version 1.27.0."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "NETWORK",
"baseScore": 7.1,
"baseSeverity": "HIGH",
"privilegesRequired": "LOW",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N",
"version": "4.0",
"vulnAvailabilityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "NONE"
}
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-639",
"description": "CWE-639: Authorization Bypass Through User-Controlled Key",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-07-10T20:44:15.897Z",
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M"
},
"references": [
{
"name": "https://github.com/openreplay/openreplay/security/advisories/GHSA-w2x5-m7w5-479h",
"tags": [
"x_refsource_CONFIRM"
],
"url": "https://github.com/openreplay/openreplay/security/advisories/GHSA-w2x5-m7w5-479h"
},
{
"name": "https://github.com/openreplay/openreplay/pull/4692",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/openreplay/openreplay/pull/4692"
},
{
"name": "https://github.com/openreplay/openreplay/commit/ddd09117f644a309c7b040cda0a11ff9433e9e49",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/openreplay/openreplay/commit/ddd09117f644a309c7b040cda0a11ff9433e9e49"
},
{
"name": "https://github.com/openreplay/openreplay/releases/tag/v1.27.0",
"tags": [
"x_refsource_MISC"
],
"url": "https://github.com/openreplay/openreplay/releases/tag/v1.27.0"
}
],
"source": {
"advisory": "GHSA-w2x5-m7w5-479h",
"discovery": "UNKNOWN"
},
"title": "OpenReplay: Cross-tenant session replay disclosure via missing session ownership check in first-mob endpoint"
}
},
"cveMetadata": {
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"cveId": "CVE-2026-55881",
"datePublished": "2026-07-10T20:44:15.897Z",
"dateReserved": "2026-06-17T16:59:42.759Z",
"dateUpdated": "2026-07-13T14:12:24.593Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"vulnrichment": {
"containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2026-55881\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2026-07-13T14:12:11.588758Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2026-07-13T14:12:18.896Z\"}}], \"cna\": {\"title\": \"OpenReplay: Cross-tenant session replay disclosure via missing session ownership check in first-mob endpoint\", \"source\": {\"advisory\": \"GHSA-w2x5-m7w5-479h\", \"discovery\": \"UNKNOWN\"}, \"metrics\": [{\"cvssV4_0\": {\"version\": \"4.0\", \"baseScore\": 7.1, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N\", \"userInteraction\": \"NONE\", \"attackComplexity\": \"LOW\", \"attackRequirements\": \"NONE\", \"privilegesRequired\": \"LOW\", \"subIntegrityImpact\": \"NONE\", \"vulnIntegrityImpact\": \"NONE\", \"subAvailabilityImpact\": \"NONE\", \"vulnAvailabilityImpact\": \"NONE\", \"subConfidentialityImpact\": \"NONE\", \"vulnConfidentialityImpact\": \"HIGH\"}}], \"affected\": [{\"vendor\": \"openreplay\", \"product\": \"openreplay\", \"versions\": [{\"status\": \"affected\", \"version\": \"\u003e= 1.22.0, \u003c 1.27.0\"}]}], \"references\": [{\"url\": \"https://github.com/openreplay/openreplay/security/advisories/GHSA-w2x5-m7w5-479h\", \"name\": \"https://github.com/openreplay/openreplay/security/advisories/GHSA-w2x5-m7w5-479h\", \"tags\": [\"x_refsource_CONFIRM\"]}, {\"url\": \"https://github.com/openreplay/openreplay/pull/4692\", \"name\": \"https://github.com/openreplay/openreplay/pull/4692\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/openreplay/openreplay/commit/ddd09117f644a309c7b040cda0a11ff9433e9e49\", \"name\": \"https://github.com/openreplay/openreplay/commit/ddd09117f644a309c7b040cda0a11ff9433e9e49\", \"tags\": [\"x_refsource_MISC\"]}, {\"url\": \"https://github.com/openreplay/openreplay/releases/tag/v1.27.0\", \"name\": \"https://github.com/openreplay/openreplay/releases/tag/v1.27.0\", \"tags\": [\"x_refsource_MISC\"]}], \"descriptions\": [{\"lang\": \"en\", \"value\": \"OpenReplay is a self-hosted session replay suite. From 1.22.0 before 1.27.0, getFirstMob returned 15-second presigned S3 download URLs for a session\u0027s DOM-replay recording based solely on the session path parameter, while validateProjectAccess checked only that the project belonged to the requester\u0027s tenant and did not verify that the session belonged to that project, allowing any authenticated low-privilege user to read another tenant\u0027s first 15 seconds of session-replay recording data. This issue is fixed in version 1.27.0.\"}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-639\", \"description\": \"CWE-639: Authorization Bypass Through User-Controlled Key\"}]}], \"providerMetadata\": {\"orgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"shortName\": \"GitHub_M\", \"dateUpdated\": \"2026-07-10T20:44:15.897Z\"}}}",
"cveMetadata": "{\"cveId\": \"CVE-2026-55881\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-07-13T14:12:24.593Z\", \"dateReserved\": \"2026-06-17T16:59:42.759Z\", \"assignerOrgId\": \"a0819718-46f1-4df5-94e2-005712e83aaa\", \"datePublished\": \"2026-07-10T20:44:15.897Z\", \"assignerShortName\": \"GitHub_M\"}",
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…