Memory exhaustion in SurrealDB via Surrealism module output buffering
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-770.
Summary
SurrealDB from 3.1.0 before 3.3.0 and surrealism-runtime from 0.3.0 before 0.6.0 buffer module stdout and stderr lines without any limit in host memory, which bypasses the configured module memory limit. An attacker with high privileges who can install a module as Owner can run a malicious module that writes output without newlines, exhausting server memory and denying service to all namespaces and databases. The flaw is classified as CWE-770.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
SurrealDB 3.1.0 before 3.3.0 lets Surrealism modules exhaust server memory because module stdout/stderr lines are buffered unbounded in host memory, bypassing the configured module memory limit. An attacker can run an Owner-installed malicious module that writes output without newlines, crashing the server and denying service to all namespaces and databases.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
Upgrade SurrealDB to version 3.3.0 and surrealism-runtime to version 0.6.0.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA surrealdb (surrealdb) Fixed in 3.3.0
- Fix · CNA surrealism-runtime (surrealdb) Fixed in 0.6.0
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
surrealdb 3.3.0
11 records Highest priority Priority LOW 11 LOW
Other records, highest priority first
- TI-2026-71159 Cross-tenant access in SurrealDB through the USE statementPriority LOW 39
- TI-2026-71150 Cross-tenant access in SurrealDB through namespace and database selectionPriority LOW 37
- TI-2026-71157 Field permission bypass in SurrealDB via PATCH copy and movePriority LOW 31
Timeline
- 2026-10-12 Threatist record created from CVE-2026-109339
- 2026-10-12 Alias added: GHSA-rj2f-8wx8-hgm5
- 2026-10-13 Priority changed: MEDIUM → LOW
- 2026-10-13 CISA SSVC decision points changed
References
More surrealdb vulnerabilities
- TI-2026-84300 SurrealDB index planner lets users infer restricted fields CVSS 4.0MEDIUM 5.3
- TI-2026-84304 Server-side request forgery in SurrealDB via JWKS URL default ports CVSS 4.0MEDIUM 5.1
- TI-2026-45344 SurrealDB before 3.1.0 Session Hijacking via /rpc sessions CVSS 4.0HIGH 8.7
- TI-2024-38452 SurrealDB before 1.1.0 Denial of Service via HTTP Headers CVSS 4.0HIGH 8.7
- TI-2026-45347 SurrealDB before 3.1.0 Denial of Service via JSON Parser CVSS 4.0HIGH 8.7
- TI-2026-45334 SurrealDB before 3.1.0 Denial of Service via malformed RPC use CVSS 4.0HIGH 8.7
Sources
- CVE-2026-109339 · CVE Program
- CVE-2026-109339 · NVD
- FIRST EPSS
- GHSA-rj2f-8wx8-hgm5 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences