CVE-2026-102876
validatedZero produced an exploit or a check.GHSA-xjq6-rqgg-x5j7 ↗EUVD-2026-89411 ↗
description
SurrealDB versions before 3.3.0 mishandle authorization when constructing HTTP sessions. An authenticated attacker may access or alter records in another tenant by causing the session to use a namespace and database different from those checked for their credentials. The attacker must have valid credentials for at least one tenant.
mitigation
Upgrade SurrealDB to version 3.3.0 or later. Until upgraded, restrict HTTP API access to trusted clients and isolate tenant access at the network boundary.
fixed in 3.3.0
outcome
Check only, differential: the check fires on the vulnerable build and is silent on the patched one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-09-29 20:01Zcve_org: trigger signal, started the run
this entry in the feed
GET /api/v1/feed/CVE-2026-102876
{ "etk_id": "ETK-2026-10", "cve_id": "CVE-2026-102876", "display_id": "CVE-2026-102876", "ghsa_id": "GHSA-xjq6-rqgg-x5j7", "euvd_id": "EUVD-2026-89411", "status": "published", "anchor_state": "anchored", "title": "Cross-tenant authorization bypass in SurrealDB HTTP sessions", "summary": "SurrealDB versions before 3.3.0 mishandle authorization when constructing HTTP sessions. An authenticated attacker may access or alter records in another tenant by causing the session to use a namespace and database different from those checked for their credentials. The attacker must have valid credentials for at least one tenant.", "mitigation": "Upgrade SurrealDB to version 3.3.0 or later. Until upgraded, restrict HTTP API access to trusted clients and isolate tenant access at the network boundary.", "vendor": "surrealdb", "product": "surrealdb", "affected": [ { "affected_notes": [], "affected_ranges": [ "< 3.3.0" ], "ecosystem": "rust", "fixed_versions": [ "3.3.0" ], "package_name": "surrealdb", "purl": "pkg:cargo/surrealdb" } ], "cwes": [ 639 ], "cvss_score": 8.6, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N", "epss_score": 0.0027, "epss_percentile": 0.1809, "epss_asof": "2026-10-20", "automation": "deterministic", "check": true, "check_confidence_basis": "differential", "exploit": false, "pipeline_minutes": 13.389391566666667, "t0_at": "2026-09-29T20:01:06.088000+00:00", "signals": { "check": { "at": "2026-09-29T20:37:09.035905+00:00", "days": 0.025034119270833332, "is_lower_bound": false, "measured_at": "2026-09-29T20:01:06.088000+00:00", "url": null }, "trigger_signal": { "at": "2026-09-29T20:01:06.088000+00:00", "days": 0, "is_lower_bound": false, "measured_at": "2026-09-29T20:01:06.088000+00:00", "url": "https://www.cve.org/CVERecord?id=CVE-2026-102876" } } }
published 2026-09-29 20:23Z
last change 2026-10-21 03:59Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.