{"items":[{"id":"NVI-00013889","kind":"vulnerability","title":"SurrealDB: Custom API route lets authenticated callers override namespace/database scope via URL path","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-848m-r628-vrxw","CVE-2026-63735"],"plain_summary":"GitHub lists this reviewed advisory for surrealdb. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-415adb133bb26404a8af2145277c7a1e"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-09-04T20:07:08.000Z","value":"8.1 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-16a9bbc32f4ed3d26ccabc4833da34b8"},{"kind":"CVSS","as_of":"2026-07-23T20:17:20.513Z","value":"8.1 HIGH (3.1)","meaning":"disclosure@vulncheck.com severity; no combined Null risk score.","source_id":"sr-415adb133bb26404a8af2145277c7a1e"},{"kind":"CVSS","as_of":"2026-07-23T20:17:20.513Z","value":"8.6 HIGH (4.0)","meaning":"disclosure@vulncheck.com severity; no combined Null risk score.","source_id":"sr-415adb133bb26404a8af2145277c7a1e"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-16a9bbc32f4ed3d26ccabc4833da34b8","url":"https://github.com/advisories/GHSA-848m-r628-vrxw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-848m-r628-vrxw","publisher":"GitHub Advisory Database","observed_at":"2026-11-02T02:20:52.377Z"},{"id":"sr-415adb133bb26404a8af2145277c7a1e","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-63735","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-63735","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-08T15:07:30.585Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-16a9bbc32f4ed3d26ccabc4833da34b8"],"technology":"surrealdb","known_exclusions":[],"conditions_summary":"An authenticated user scoped to one namespace/database could invoke a custom API (`DEFINE API`) belonging to a different namespace/database, reaching another tenant's endpoint.\n\nThe route `/api/{namespace}/{database}/{endpoint}` took the namespace and database from the URL and applied them to the caller's session before the endpoint was looked up or run, without checking that the caller's authenticated scope covered them. Because a custom API handler runs with permissions disabled (definer's rights), the endpoint's own `PERMISSIONS` clause was the only gate — open to everyone for a `PERMISSIONS FULL` endpoint. The `api::invoke()` function was affected the same way, resolving against the session's selected namespace/database (settable via the `surreal-ns` / `surreal-db` headers or `USE`).\n\n### Impact\n\nWhat an attacker **can** do:\n\n- With valid credentials for any one namespace/database (a `VIEWER` is enough), invoke a custom API in another namespace/database by naming the victim scope in the URL.\n- Read data that endpoint returns — including from `PERMISSIONS NONE` tables, since the handler runs with permissions disabled — or trigger any writes and side effects it performs.\n\nWhat it","public_affected_ranges":["< 3.2.0"]}],"null_published_at":"2026-11-08T19:53:44.052Z","source_updated_at":"2026-09-04T20:07:08.000Z","source_disclosed_at":"2026-09-04T20:07:07.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-11-02T02:20:52.377Z"},{"id":"NVI-00013889","kind":"vulnerability","title":"SurrealDB: Custom API route lets authenticated callers override namespace/database scope via URL path","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-848m-r628-vrxw","CVE-2026-63735"],"plain_summary":"GitHub lists this reviewed advisory for surrealdb. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-16a9bbc32f4ed3d26ccabc4833da34b8"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-09-04T20:07:08.000Z","value":"8.1 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-16a9bbc32f4ed3d26ccabc4833da34b8"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-16a9bbc32f4ed3d26ccabc4833da34b8","url":"https://github.com/advisories/GHSA-848m-r628-vrxw","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-848m-r628-vrxw","publisher":"GitHub Advisory Database","observed_at":"2026-11-02T02:20:52.377Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-16a9bbc32f4ed3d26ccabc4833da34b8"],"technology":"surrealdb","known_exclusions":[],"conditions_summary":"An authenticated user scoped to one namespace/database could invoke a custom API (`DEFINE API`) belonging to a different namespace/database, reaching another tenant's endpoint.\n\nThe route `/api/{namespace}/{database}/{endpoint}` took the namespace and database from the URL and applied them to the caller's session before the endpoint was looked up or run, without checking that the caller's authenticated scope covered them. Because a custom API handler runs with permissions disabled (definer's rights), the endpoint's own `PERMISSIONS` clause was the only gate — open to everyone for a `PERMISSIONS FULL` endpoint. The `api::invoke()` function was affected the same way, resolving against the session's selected namespace/database (settable via the `surreal-ns` / `surreal-db` headers or `USE`).\n\n### Impact\n\nWhat an attacker **can** do:\n\n- With valid credentials for any one namespace/database (a `VIEWER` is enough), invoke a custom API in another namespace/database by naming the victim scope in the URL.\n- Read data that endpoint returns — including from `PERMISSIONS NONE` tables, since the handler runs with permissions disabled — or trigger any writes and side effects it performs.\n\nWhat it","public_affected_ranges":["< 3.2.0"]}],"null_published_at":"2026-11-02T10:00:37.169Z","source_updated_at":"2026-09-04T20:07:08.000Z","source_disclosed_at":"2026-09-04T20:07:07.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-02T02:20:52.377Z"}],"next_cursor":null,"snapshot_revision":"42594"}