Description
github.com/temporalio/tchannel-go did not validate the one-byte checksum-type field in inbound TChannel call frames. A network peer that can reach a listener can complete the standard initialization handshake and send a call request with an unsupported checksum type. The parser uses that value as an index into a four-entry checksum pool, causing an unrecovered Go panic on the connection read goroutine and terminating the hosting process. This allows remote denial of service against applications that expose the listener to untrusted peers. The impact is limited to availability; no confidentiality or integrity impact was identified.
Published: 2026-09-21
Score: 8.7 High
EPSS: n/a
KEV: No
Impact: Remote Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The temporalio/tchannel-go library failed to validate the one‑byte checksum‑type field in inbound TChannel call frames. An attacker can complete the normal handshake and then send a call request containing an unsupported checksum type. The parser interprets that byte as an index into a four‑entry checksum pool, resulting in an index out of bounds and an unrecovered Go panic while reading the connection. The panic terminates the hosting process, causing the application to become unavailable. The vulnerability is a classic array over‑indexing problem (CWE‑129) and leads to loss of availability only; there is no direct impact on data confidentiality or integrity.

Affected Systems

Temporal Technologies, Inc. – the temporalio/tchannel-go library. All releases prior to v1.22.1 are affected; the fix is included in v1.22.1 and later. No specific operating system or deployment platform restrictions are described, so any environment that runs the library and exposes a TChannel listener to external traffic is potentially vulnerable.

Risk and Exploitability

The CVSS score of 8.7 points to a high severity Remote Denial of Service. EPSS data is not available, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector is remote network access to the TChannel listener; a malicious peer can reach the listener via the standard handshake, send the crafted frame, and terminate the process. The impact is limited to availability, with no identified confidentiality or integrity effects.

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

Remediation

Vendor Solution

Upgrade github.com/temporalio/tchannel-go to v1.22.1 or later. The fix rejects unsupported checksum types during direct and relay frame parsing and prevents out-of-range checksum-pool access.


Vendor Workaround

Restrict TChannel listener access to trusted peers. Where supported by the embedding application, require mutually authenticated TLS so peers without a trusted client certificate are rejected before TChannel frame parsing. External panic-recovery middleware is not a reliable mitigation because the panic occurs on a library-created connection goroutine.


OpenCVE Recommended Actions

  • Upgrade to temporalio/tchannel-go v1.22.1 or later to include the patch that validates unsupported checksum types.
  • Restrict the TChannel listener to trusted peers using firewall or network ACLs so that only authorized hosts can initiate connections.
  • If supported by your application, enable mutual TLS authentication so that peers lacking a trusted client certificate are rejected before frame parsing occurs.

Generated by OpenCVE AI on September 21, 2026 at 12:23 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 github.com/temporalio/tchannel-go did not validate the one-byte checksum-type field in inbound TChannel call frames. A network peer that can reach a listener can complete the standard initialization handshake and send a call request with an unsupported checksum type. The parser uses that value as an index into a four-entry checksum pool, causing an unrecovered Go panic on the connection read goroutine and terminating the hosting process. This allows remote denial of service against applications that expose the listener to untrusted peers. The impact is limited to availability; no confidentiality or integrity impact was identified.
Title temporalio/tchannel-go malformed checksum type causes process termination
Weaknesses CWE-129
References
Metrics cvssV4_0

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Temporal

Published:

Updated: 2026-09-21T11:35:40.896Z

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

Link: CVE-2026-65652

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-65652

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-21T12:30:14Z

Weaknesses
  • CWE-129

    Improper Validation of Array Index