Description
github.com/temporalio/tchannel-go did not reject TChannel call fragments containing checksum metadata but no length-prefixed argument chunks. The fragment reader left its chunk slice empty and then unconditionally selected the first element. A network peer can supply such a malformed call fragment, including as a direct initial call request after completing the standard initialization handshake. On that inbound path, the resulting unrecovered Go slice-bounds panic occurs on a library-created dispatch goroutine and terminates 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: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

Temporal's tchannel-go library contains a flaw where a call fragment that includes checksum metadata but omits any length‑prefixed argument chunks is accepted. The fragment reader leaves its chunk slice empty and then attempts to access the first element unconditionally, causing a Go slice‑bounds panic on a library‑created dispatch goroutine. The unhandled panic terminates the hosting application process, resulting in a denial of service. The vulnerability is categorized as CWE‑129. No confidentiality or integrity compromise is reported.

Affected Systems

The affected component is the Temporal Technologies, Inc. library temporalio/tchannel-go. Any build of this library older than v1.22.1 contains the unguarded fragment parsing logic. Applications that embed this library and expose a TChannel listener to untrusted peers are susceptible to the attack. The official solution is to upgrade to version v1.22.1 or later, where the library rejects fragments containing no argument chunks before indexing the chunk slice.

Risk and Exploitability

The CVSS base score of 8.7 reflects a high‑severity denial of service. The EPSS score is not available, so the baseline exploit likelihood cannot be quantified. The vulnerability is not listed in the CISA KEV catalog. Because the flaw is exploitable via a malformed TChannel call fragment sent over the network, the attack vector is remote. The impact is limited to availability, with no evidence of confidentiality or integrity damage.

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

Remediation

Vendor Solution

Upgrade github.com/temporalio/tchannel-go to v1.22.1 or later. The fix rejects fragments containing no argument chunks before indexing the chunk slice.


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 confirmed inbound panic occurs on a library-created dispatch goroutine.


OpenCVE Recommended Actions

  • Upgrade github.com/temporalio/tchannel-go to v1.22.1 or later, which rejects fragments before indexing the chunk slice.
  • Restrict TChannel listener access to trusted peers.
  • Require mutually authenticated TLS so peers without a trusted client certificate are rejected before frame parsing, preventing malformed fragments from reaching the library.

Generated by OpenCVE AI on September 21, 2026 at 12:51 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 reject TChannel call fragments containing checksum metadata but no length-prefixed argument chunks. The fragment reader left its chunk slice empty and then unconditionally selected the first element. A network peer can supply such a malformed call fragment, including as a direct initial call request after completing the standard initialization handshake. On that inbound path, the resulting unrecovered Go slice-bounds panic occurs on a library-created dispatch goroutine and terminates 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 zero-chunk call fragment 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:36:47.095Z

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

Link: CVE-2026-65653

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

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

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

Link: CVE-2026-65653

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

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

Weaknesses
  • CWE-129

    Improper Validation of Array Index