Impact
The flaw lies in the sqlparser library’s handling of deeply nested unary expressions. When such expressions are parsed, the library produces an abstract syntax tree of matching depth. Both the String and Walk functions then recursively traverse this tree, and the recursion depth exceeds Go’s stack limits, causing a fatal Go stack overflow. Go panic recovery cannot trap this condition, so the process terminates. Because only the availability of the affected process is impacted, no data leakage or integrity loss is observed.
Affected Systems
This issue targets Temporal Technologies, Inc. products: the Temporal Server and the temporalio/sqlparser library. Versions prior to the recommended fix are vulnerable. For the sqlparser component the recommender advises upgrading to commit 0466b6b405ac (or later releases such as 1aa...147). Temporal Server operators should apply the patch by upgrading to micro‑release 1.30.7, 1.31.3, or 1.32.0, whichever matches the deployed minor line. Earlier major or minor releases that embed the unpatched sqlparser also remain exposed.
Risk and Exploitability
The CVSS score of 6 marks this a moderate risk. No EPSS value is available, and the vulnerability is not listed in CISA’s KEV catalog. Attackers who can submit SQL to a Temporal Server endpoint that parses the query—such as archive, visibility, or worker‑query paths—can craft a query with excessive nesting. When the server subsequently formats the invalid expression or formats an error message, the stack overflow occurs and the Frontend or Matching process crashes, resulting in a denial of service. The DoS may be sustained by repeated requests when the ListWorkers route is active and an authenticated principal has namespace read permissions. The recommended mitigation is the availability patch; otherwise, conservative size limits or disabling unused paths provide temporary protection.
OpenCVE Enrichment