PT-2026-57511

تاريخ النشر

2026-07-01

·

تاريخ التحديث

2026-07-01

الوصف من

CVSS 3.1
6.5
متوسطة
المقاييسAV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
The SurrealDB type/kind parser did not enforce the configured recursion depth limit when parsing nested type annotations. The expression parser already enforced the limit for analogous constructs; the kind parser omitted it. An authenticated attacker could send a query with deeply nested type annotations (e.g., array<option<array<option<...>>>>) and exhaust server memory, crashing the process.
This is an incomplete fix for GHSA-6r8p-hpg7-825g, which addressed the same class of bug in the expression parser but did not cover the kind/type annotation parser code path.

Impact

An authenticated user with query execution privileges can crash a SurrealDB server with a single WebSocket message containing deeply nested type annotations.

Patches

A patch has been introduced that wraps parse concrete kind and the OPTION<...> arm of parse inner kind with enter object recursion!, bounding the recursive cycle parse concrete kind → parse inner kind → parse inner single kind → parse concrete kind at the configured object recursion limit (default 100). Regression tests cover both cast and DEFINE FIELD paths.
  • Versions 3.1.0 and later are not affected by this issue.

Workarounds

Restrict the ability of untrusted users to execute arbitrary queries via the --deny-arbitrary-query capability flag for the affected user classes (guest, record, or system). Disabling untrusted access to the WebSocket /rpc endpoint also prevents exploitation; the HTTP /sql endpoint's 1 MiB body limit constrains nesting to a depth where OOM is not feasible.
قابلية الاستغلال
إصلاح
التأثيرات
المورّدون
المنتجات المتأثرة
تصنيف نقاط الضعف
المعرّفات ذات الصلة
GHSA-Q8QP-67F9-WR3F
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾