Description
temporalio/sqlparser can panic when Parse, ParseStrictDDL, or ParseNext processes a MySQL version comment whose contents are empty or consist only of one to five decimal digits. ExtractMysqlComment does not check the -1 result returned by strings.IndexFunc before using it as a slice boundary. The resulting Go runtime panic propagates unless the caller recovers it on the parsing goroutine, so applications that parse attacker-controlled SQL can terminate. Temporal Server exposes the affected parser through ListWorkers. When that API is enabled, an authenticated caller with namespace read permission can submit a malformed query that terminates the receiving Matching process. Repeated requests can sustain a denial of service. The issue affects availability only; no confidentiality or integrity impact was identified.
Published: 2026-09-21
Score: 7.1 High
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Patch
AI Analysis

Impact

The vulnerability arises when the parser processes a MySQL version comment that is empty or contains only one to five decimal digits, leading to a Go runtime panic caused by improper slice boundary handling. This panic is not recovered by default, causing the process that executes the parser to terminate. The affected component is the SQL parser in Temporal Platforms and can compromise availability; no confidentiality or integrity impact has been identified. The weakness is identified as CWE‑129, an integer boundary manipulation flaw.

Affected Systems

Affecting Temporal Technologies, Inc. products, specifically the Temporal Server and the temporalio/sqlparser library. Versions prior to v0.0.0-20260721183040-74181ffcbaaf for the parser and before Temporal Server releases 1.30.7 (for 1.x series), 1.31.3, or 1.32.0 for their respective minor line must be patched or otherwise mitigated.

Risk and Exploitability

With a CVSS score of 7.1 the flaw is considered serious, though the EPSS score is not available at this time and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is via an authenticated request to the ListWorkers API where the caller has namespace read permission; the attacker crafts a malformed query that triggers the parser panic. An attacker may repeatedly invoke the vulnerable endpoint, leading to sustained denial of service on the matching process.

Generated by OpenCVE AI on September 21, 2026 at 12:52 UTC.

Remediation

Vendor Solution

Upgrade github.com/temporalio/sqlparser to v0.0.0-20260721183040-74181ffcbaaf or later. Temporal Server operators should upgrade to 1.30.7, 1.31.3, or 1.32.0, as appropriate for the deployed minor release line. The parser fix treats MySQL version comments as ordinary comments instead of interpreting their contents as SQL.


Vendor Workaround

Until upgrading, applications can reject MySQL version comments before invoking the parser or recover parser panics on the parsing goroutine. Temporal Server 1.29 and 1.30 operators can set frontend.ListWorkersEnabled to false. On any affected Server release, restrict ListWorkers to trusted principals or apply the matching-handler panic-recovery change as interim containment. Panic recovery does not replace the parser fix.


OpenCVE Recommended Actions

  • Upgrade the temporalio/sqlparser library to v0.0.0‑20260721183040‑74181ffcbaaf or later, which treats MySQL version comments as ordinary comments.
  • Upgrade Temporal Server to release 1.30.7, 1.31.3, or 1.32.0 depending on the deployed minor release line to apply the parser fix.
  • If upgrading immediately is not possible, temporarily disable ListWorkers by setting frontend.ListWorkersEnabled to false on Temporal Server 1.29 and 1.30 operators to prevent the vulnerable endpoint from being exposed.
  • For all affected Server releases, restrict the ListWorkers API to trusted principals or implement panic recovery logic around the parsing goroutine to contain the issue until a patch is applied.

Generated by OpenCVE AI on September 21, 2026 at 12:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 21 Sep 2026 11:45:00 +0000

Type Values Removed Values Added
Description temporalio/sqlparser can panic when Parse, ParseStrictDDL, or ParseNext processes a MySQL version comment whose contents are empty or consist only of one to five decimal digits. ExtractMysqlComment does not check the -1 result returned by strings.IndexFunc before using it as a slice boundary. The resulting Go runtime panic propagates unless the caller recovers it on the parsing goroutine, so applications that parse attacker-controlled SQL can terminate. Temporal Server exposes the affected parser through ListWorkers. When that API is enabled, an authenticated caller with namespace read permission can submit a malformed query that terminates the receiving Matching process. Repeated requests can sustain a denial of service. The issue affects availability only; no confidentiality or integrity impact was identified.
Title temporalio/sqlparser malformed MySQL version comments can cause a panic
First Time appeared Temporal
Temporal temporal
Weaknesses CWE-129
CPEs cpe:2.3:a:temporal:temporal:*:*:*:*:*:*:*:*
Vendors & Products Temporal
Temporal temporal
References
Metrics cvssV4_0

{'score': 7.1, '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'}


Subscriptions

Temporal Temporal
cve-icon MITRE

Status: PUBLISHED

Assigner: Temporal

Published:

Updated: 2026-09-21T11:32:44.699Z

Reserved: 2026-07-22T18:08:54.825Z

Link: CVE-2026-16651

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-09-21T12:17:10.167

Modified: 2026-09-21T12:17:10.167

Link: CVE-2026-16651

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-21T13:00:14Z

Weaknesses
  • CWE-129

    Improper Validation of Array Index