{"id":"CVE-2026-121423","kind":"vulnerability","aliases":["CVE-2026-121423"],"related":[],"title":"SurrealDB: nested values crash the database server for all tenants","description":"SurrealDB before 3.3.0 contains an unbounded recursion vulnerability that allows authenticated users to abort the surreald process by triggering stack overflow on deeply nested values. Attackers can repeatedly run UPDATE statements wrapping a stored array in itself, then SELECT or EXPORT it, causing persistent denial of service for all tenants.","summary":"SurrealDB before 3.3.0 recurses without limit on deeply nested values, so a stack overflow aborts the surreal process. An authenticated user can repeat UPDATE and SELECT or EXPORT statements to keep the database down for every tenant.","severity":"high","cvss":7.1,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ai-tooling","multi-tenant","self-hosted","surrealdb"],"not_affected_if":["managed-hosting","trusted-users-only"],"how_to_check":"- Check the SurrealDB server version with `surreal version`; versions below `3.3.0` are in range.\n- Confirm whether untrusted authenticated users can run UPDATE, SELECT or EXPORT statements against the instance.","fix":"- SurrealDB: move to `3.3.0` or later.","status":"open","published_at":"2026-11-03T15:17:32+00:00","first_seen_at":"2026-11-03T15:21:59+00:00","triaged_at":"2026-11-03T15:22:56+00:00","updated_at":"2026-11-03T15:22:56+00:00","category":"ai-tooling","confidence":0.7,"triage":{"at":"2026-11-03T15:22:56Z","model":"claude-haiku-5-5","output":{"fix":"- SurrealDB: move to `3.3.0` or later.","reach":"network","title":"SurrealDB: nested values crash the database server for all tenants","impact":"low","summary":"SurrealDB before 3.3.0 recurses without limit on deeply nested values, so a stack overflow aborts the surreal process. An authenticated user can repeat UPDATE and SELECT or EXPORT statements to keep the database down for every tenant.","audience":"businesses","category":"ai-tooling","nicknames":[],"who_cares":["surrealdb","self-hosted","multi-tenant"],"confidence":0.7,"fix_status":"available","needs_auth":"yes","worst_case":"Database process aborts repeatedly, denying service to all tenants","analyst_note":"Confirm the exact fixed version and whether managed SurrealDB Cloud is affected; check the vendor advisory on github.com linked in the sources.","how_to_check":"- Check the SurrealDB server version with `surreal version`; versions below `3.3.0` are in range.\n- Confirm whether untrusted authenticated users can run UPDATE, SELECT or EXPORT statements against the instance.","plain_action":"","needs_analyst":true,"not_affected_if":["managed-hosting","trusted-users-only"],"who_is_affected":"Teams running a self-hosted or shared SurrealDB server before 3.3.0 where more than one tenant or untrusted user holds valid credentials. Single-tenant deployments where only trusted users can log in carry less exposure. unknown whether the sources name specific deployment modes beyond this.","user_interaction":"no","needs_special_setup":"unknown","severity_if_unknown":"unknown"},"cost_usd":0.000711,"input_tokens":4188,"output_tokens":585,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-121423':13A,16A '-2026':12A,15A '3.3.0':29B,66C 'abort':41B,77C 'ai':18B 'ai-tool':17B 'allow':73C 'array':98C 'attack':89C 'authent':46B,74C 'caus':106C 'contain':67C 'crash':4A 'cve':11A,14A 'databas':6A,59B 'deepli':34B,86C 'denial':108C 'everi':62B 'export':54B,104C 'host':25B 'keep':57B 'limit':32B 'multi':21B 'multi-ten':20B 'nest':2A,35B,87C 'overflow':40B,84C 'persist':107C 'process':44B,80C 'recurs':30B,70C 'repeat':49B,91C 'run':92C 'select':52B,102C 'self':24B 'self-host':23B 'server':7A 'servic':110C 'stack':39B,83C 'statement':55B,94C 'store':97C 'surreal':43B 'surreald':79C 'surrealdb':1A,26B,27B,64C 'tenant':10A,22B,63B,113C 'tool':19B 'trigger':82C 'unbound':69C 'updat':50B,93C 'user':47B,75C 'valu':3A,36B,88C 'vulner':71C 'without':31B 'wrap':95C","nicknames":[],"mitigations":[],"who_affected":"Teams running a self-hosted or shared SurrealDB server before 3.3.0 where more than one tenant or untrusted user holds valid credentials. Single-tenant deployments where only trusted users can log in carry less exposure. unknown whether the sources name specific deployment modes beyond this.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["aitooling","high","multitenant","selfhosted","surrealdb"],"first_public_at":"2026-10-19T08:51:27+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-121423","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121423","severity":null,"published_at":"2026-11-03T15:17:32+00:00","modified_at":"2026-11-03T15:17:32+00:00","first_seen_at":"2026-11-03T15:21:59+00:00","fetched_at":"2026-11-03T15:21:59+00:00","note":null}],"documents":[{"id":58371,"url":"https://github.com/surrealdb/surrealdb/security/advisories/GHSA-rpmq-gq3f-h6jg","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-19T08:51:27+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":58372,"url":"https://www.vulncheck.com/advisories/surrealdb-before-3.3.0-dos-via-unbounded-recursion-in-val-value-serialization","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}