CVE-2026-16651: temporalio/sqlparser malformed MySQL version comments can cause a panic

Published Sep 21, 2026
·
Updated

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

1 affected component
temporalio/sqlparser

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade github.com/temporalio/sqlparser to a version that resolves this vulnerability.

    Fixed in v0.0.0-20260721183040-74181ffcbaaf
  2. Upgrade

    Upgrade Temporal Server to a version that resolves this vulnerability.

    Fixed in 1.30.7
  3. Upgrade

    Upgrade Temporal Server to a version that resolves this vulnerability.

    Fixed in 1.31.3
  4. Upgrade

    Upgrade Temporal Server to a version that resolves this vulnerability.

    Fixed in 1.32.0

Event History

Sep 21, 2026
CVE Published
via MITRE·11:32 AM
Data Sourced
via MITRE·11:32 AM
RemedyDescriptionWeakness
Data Sourced
via NVD·12:17 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who can exploit this through Temporal Server?

The ListWorkers API must be enabled, and the caller must be authenticated with namespace read permission. Such a caller can submit a malformed query that terminates the receiving Matching process.

2

Are applications affected only when they use Temporal Server?

No. Any application that passes attacker-controlled SQL to Parse, ParseStrictDDL, or ParseNext can be affected if the panic is not recovered on the parsing goroutine.

3

What input triggers the failure?

A MySQL version comment whose contents are empty or contain only one to five decimal digits triggers the panic condition.

4

What can be done if patching is not immediately possible?

Avoid parsing untrusted SQL with the affected functions, or ensure the parsing goroutine recovers from panics. For Temporal Server, disabling ListWorkers removes the described API exposure.

5

How can an organization determine whether it has been affected?

Look for Go runtime panics and termination of Matching processes associated with ListWorkers requests containing malformed MySQL version comments. Repeated malformed requests may produce recurring process terminations and availability disruption.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203