CVE-2026-16651
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Summary
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.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Temporal Technologies, Inc. | temporalio/sqlparser | 0.0.0-20180604150908-b055e9c9b4fa < 0.0.0-20260721183040-74181ffcbaaf | affected |
| Temporal Technologies, Inc. | Temporal Server | 1.29.0 <= 1.29.7 | affected |
| Temporal Technologies, Inc. | Temporal Server | 1.30.0 < 1.30.7 | affected |
| Temporal Technologies, Inc. | Temporal Server | 1.31.0 < 1.31.3 | affected |
Weaknesses
- CWE-129: CWE-129: Improper Validation of Array Index
Workarounds
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.
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: none
- Automatable: yes
- Technical Impact: partial
References
- https://github.com/temporalio/sqlparser/pull/5
- https://github.com/temporalio/sqlparser/commit/74181ffcbaaf0c52faa925f4cf27ed6c0c2be86f
- https://github.com/temporalio/sqlparser/tree/v0.1.0
- https://github.com/temporalio/temporal/pull/11190
- https://github.com/temporalio/temporal/pull/11090
- https://github.com/temporalio/temporal/releases/tag/v1.30.7
- https://github.com/temporalio/temporal/releases/tag/v1.31.3
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.