temporalio/tchannel-go malformed checksum type causes process termination
Summary
| CVE | CVE-2026-65652 |
|---|---|
| State | PUBLISHED |
| Assigner | Temporal |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-21 12:17:15 UTC |
| Updated | 2026-09-22 19:40:05 UTC |
| 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. |
Risk And Classification
Primary CVSS: v4.0 8.7 HIGH from [email protected]
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
EPSS: 0.005200000 probability, percentile 0.431930000 (date 2026-09-23)
Problem Types: CWE-129 | CWE-129 CWE-129: Improper Validation of Array Index
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 4.0 | [email protected] | Secondary | 8.7 | HIGH | 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/E:X/C... |
| 4.0 | CNA | CVSS | 8.7 | HIGH | 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 |
CVSS v4.0 Breakdown
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Temporal Technologies Inc. | Temporalio/tchannel-go | affected 0.0.0-20160105034737-a6904155f628 1.22.1-0.20260720194454-0cb017f6870a semver | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| github.com/temporalio/tchannel-go/blob/8706a1ab5f617efd79dace7ab2d1d80cc... | [email protected] | github.com | |
| github.com/temporalio/tchannel-go/commit/a6904155f628b9e602b7bc88ef48900... | [email protected] | github.com | |
| github.com/temporalio/tchannel-go/tree/v1.22.1 | [email protected] | github.com | |
| github.com/temporalio/tchannel-go/commit/0cb017f6870a8420695abeb9a4560d3... | [email protected] | github.com | |
| github.com/temporalio/tchannel-go/pull/14 | [email protected] | github.com | |
| github.com/temporalio/tchannel-go/blob/8706a1ab5f617efd79dace7ab2d1d80cc... | [email protected] | github.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
Vendor Comments And Credit
Discovery Credit
CNA: An external security researcher who reported this issue responsibly to Temporal Technologies (en)
Additional Advisory Data
Solutions
CNA: 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.
Workarounds
CNA: 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.