Search

Find a vulnerability

Search criteria

    4 vulnerabilities found for temporalio/tchannel-go by Temporal Technologies, Inc.

    CVE-2026-65653 (GCVE-0-2026-65653)

    Vulnerability from nvd – Published: 2026-09-21 11:36 – Updated: 2026-09-21 15:28
    VLAI
    Title
    temporalio/tchannel-go zero-chunk call fragment causes process termination
    Summary
    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.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-21 15:28 UTC
    CWE
    • CWE-129 - Improper Validation of Array Index
    Impacted products
    Vendor Product Version
    Temporal Technologies, Inc. temporalio/tchannel-go Affected: 0.0.0-20150531204735-8d8ca17342b3 , < 1.22.1-0.20260720194454-0cb017f6870a (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-65653",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-21T15:28:04.791087Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-21T15:28:21.825Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://pkg.go.dev",
              "defaultStatus": "unaffected",
              "modules": [
                "Fragmentation",
                "Frame parser"
              ],
              "packageName": "github.com/temporalio/tchannel-go",
              "product": "temporalio/tchannel-go",
              "programFiles": [
                "fragmenting_reader.go",
                "inbound.go",
                "outbound.go"
              ],
              "repo": "https://github.com/temporalio/tchannel-go",
              "vendor": "Temporal Technologies, Inc.",
              "versions": [
                {
                  "lessThan": "1.22.1-0.20260720194454-0cb017f6870a",
                  "status": "affected",
                  "version": "0.0.0-20150531204735-8d8ca17342b3",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eThe CVSS Base score reflects an application that exposes a tchannel-go listener to untrusted network peers without an authenticated transport. The library accepts caller-supplied listeners and dialers, so an embedding application can require mutually authenticated TLS. When client certificates are required and verified, unauthenticated peers are rejected before TChannel frame parsing and the deployment should be assessed using appropriate Environmental metrics.\u003c/p\u003e"
                }
              ],
              "value": "The CVSS Base score reflects an application that exposes a tchannel-go listener to untrusted network peers without an authenticated transport. The library accepts caller-supplied listeners and dialers, so an embedding application can require mutually authenticated TLS. When client certificates are required and verified, unauthenticated peers are rejected before TChannel frame parsing and the deployment should be assessed using appropriate Environmental metrics."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "An external security researcher who reported this issue responsibly to Temporal Technologies"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003egithub.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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ],
          "impacts": [
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Denial of service: one malformed TChannel call fragment can cause an unrecovered panic and terminate the process hosting the connection. No confidentiality or integrity impact was identified."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "exploitMaturity": "NOT_DEFINED",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "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",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "temporalio/tchannel-go reasonable worst-case network service embedding"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-129",
                  "description": "CWE-129: Improper Validation of Array Index",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-21T11:36:47.095Z",
            "orgId": "61241ed8-fa44-4f23-92db-b8c443751968",
            "shortName": "Temporal"
          },
          "references": [
            {
              "name": "First affected source revision",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/8d8ca17342b3620d3a6d5c1a825145595e7588ff"
            },
            {
              "name": "Vulnerable zero-chunk fragment handling",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/blob/8706a1ab5f617efd79dace7ab2d1d80cc1881df0/fragmenting_reader.go#L256-L308"
            },
            {
              "name": "Direct inbound call route",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/1dcfa67262ecd56a24f12940f4082549190cb5d1"
            },
            {
              "name": "Zero-chunk fragment validation fix",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/tchannel-go/pull/14"
            },
            {
              "name": "First fixed source revision",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/0cb017f6870a8420695abeb9a4560d39dadc4e2e"
            },
            {
              "name": "Fixed release tag v1.22.1",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/tree/v1.22.1"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eUpgrade github.com/temporalio/tchannel-go to v1.22.1 or later. The fix rejects fragments containing no argument chunks before indexing the chunk slice.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "temporalio/tchannel-go zero-chunk call fragment causes process termination",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eRestrict 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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "61241ed8-fa44-4f23-92db-b8c443751968",
        "assignerShortName": "Temporal",
        "cveId": "CVE-2026-65653",
        "datePublished": "2026-09-21T11:36:47.095Z",
        "dateReserved": "2026-07-22T18:08:48.925Z",
        "dateUpdated": "2026-09-21T15:28:21.825Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-65652 (GCVE-0-2026-65652)

    Vulnerability from nvd – Published: 2026-09-21 11:35 – Updated: 2026-09-21 15:30
    VLAI
    Title
    temporalio/tchannel-go malformed checksum type causes process termination
    Summary
    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.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-21 15:29 UTC
    CWE
    • CWE-129 - Improper Validation of Array Index
    Impacted products
    Vendor Product Version
    Temporal Technologies, Inc. temporalio/tchannel-go Affected: 0.0.0-20160105034737-a6904155f628 , < 1.22.1-0.20260720194454-0cb017f6870a (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-65652",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-21T15:29:36.927700Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-21T15:30:00.325Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://pkg.go.dev",
              "defaultStatus": "unaffected",
              "modules": [
                "Checksum",
                "Frame parser"
              ],
              "packageName": "github.com/temporalio/tchannel-go",
              "product": "temporalio/tchannel-go",
              "programFiles": [
                "checksum.go",
                "reqres.go",
                "inbound.go"
              ],
              "repo": "https://github.com/temporalio/tchannel-go",
              "vendor": "Temporal Technologies, Inc.",
              "versions": [
                {
                  "lessThan": "1.22.1-0.20260720194454-0cb017f6870a",
                  "status": "affected",
                  "version": "0.0.0-20160105034737-a6904155f628",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eThe CVSS Base score reflects an application that exposes a tchannel-go listener to untrusted network peers without an authenticated transport. The library accepts caller-supplied listeners and dialers, so an embedding application can require mutually authenticated TLS. When client certificates are required and verified, unauthenticated peers are rejected before TChannel frame parsing and the deployment should be assessed using appropriate Environmental metrics.\u003c/p\u003e"
                }
              ],
              "value": "The CVSS Base score reflects an application that exposes a tchannel-go listener to untrusted network peers without an authenticated transport. The library accepts caller-supplied listeners and dialers, so an embedding application can require mutually authenticated TLS. When client certificates are required and verified, unauthenticated peers are rejected before TChannel frame parsing and the deployment should be assessed using appropriate Environmental metrics."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "An external security researcher who reported this issue responsibly to Temporal Technologies"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003egithub.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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ],
          "impacts": [
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Denial of service: one malformed TChannel call request can cause an unrecovered panic and terminate the process hosting the listener. No confidentiality or integrity impact was identified."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "exploitMaturity": "NOT_DEFINED",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "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",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "temporalio/tchannel-go reasonable worst-case network service embedding"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-129",
                  "description": "CWE-129: Improper Validation of Array Index",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-21T11:35:40.896Z",
            "orgId": "61241ed8-fa44-4f23-92db-b8c443751968",
            "shortName": "Temporal"
          },
          "references": [
            {
              "name": "First affected source revision",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/a6904155f628b9e602b7bc88ef489004a786f7f4"
            },
            {
              "name": "Vulnerable checksum-type parsing",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/blob/8706a1ab5f617efd79dace7ab2d1d80cc1881df0/reqres.go#L280-L295"
            },
            {
              "name": "Vulnerable checksum-pool access",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/blob/8706a1ab5f617efd79dace7ab2d1d80cc1881df0/checksum.go#L29-L93"
            },
            {
              "name": "Checksum-type validation fix",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/tchannel-go/pull/14"
            },
            {
              "name": "First fixed source revision",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/0cb017f6870a8420695abeb9a4560d39dadc4e2e"
            },
            {
              "name": "Fixed release tag v1.22.1",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/tree/v1.22.1"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eUpgrade 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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "temporalio/tchannel-go malformed checksum type causes process termination",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eRestrict 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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "61241ed8-fa44-4f23-92db-b8c443751968",
        "assignerShortName": "Temporal",
        "cveId": "CVE-2026-65652",
        "datePublished": "2026-09-21T11:35:40.896Z",
        "dateReserved": "2026-07-22T18:08:48.925Z",
        "dateUpdated": "2026-09-21T15:30:00.325Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-65653 (GCVE-0-2026-65653)

    Vulnerability from cvelistv5 – Published: 2026-09-21 11:36 – Updated: 2026-09-21 15:28
    VLAI
    Title
    temporalio/tchannel-go zero-chunk call fragment causes process termination
    Summary
    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.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-21 15:28 UTC
    CWE
    • CWE-129 - Improper Validation of Array Index
    Impacted products
    Vendor Product Version
    Temporal Technologies, Inc. temporalio/tchannel-go Affected: 0.0.0-20150531204735-8d8ca17342b3 , < 1.22.1-0.20260720194454-0cb017f6870a (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-65653",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-21T15:28:04.791087Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-21T15:28:21.825Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://pkg.go.dev",
              "defaultStatus": "unaffected",
              "modules": [
                "Fragmentation",
                "Frame parser"
              ],
              "packageName": "github.com/temporalio/tchannel-go",
              "product": "temporalio/tchannel-go",
              "programFiles": [
                "fragmenting_reader.go",
                "inbound.go",
                "outbound.go"
              ],
              "repo": "https://github.com/temporalio/tchannel-go",
              "vendor": "Temporal Technologies, Inc.",
              "versions": [
                {
                  "lessThan": "1.22.1-0.20260720194454-0cb017f6870a",
                  "status": "affected",
                  "version": "0.0.0-20150531204735-8d8ca17342b3",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eThe CVSS Base score reflects an application that exposes a tchannel-go listener to untrusted network peers without an authenticated transport. The library accepts caller-supplied listeners and dialers, so an embedding application can require mutually authenticated TLS. When client certificates are required and verified, unauthenticated peers are rejected before TChannel frame parsing and the deployment should be assessed using appropriate Environmental metrics.\u003c/p\u003e"
                }
              ],
              "value": "The CVSS Base score reflects an application that exposes a tchannel-go listener to untrusted network peers without an authenticated transport. The library accepts caller-supplied listeners and dialers, so an embedding application can require mutually authenticated TLS. When client certificates are required and verified, unauthenticated peers are rejected before TChannel frame parsing and the deployment should be assessed using appropriate Environmental metrics."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "An external security researcher who reported this issue responsibly to Temporal Technologies"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003egithub.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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ],
          "impacts": [
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Denial of service: one malformed TChannel call fragment can cause an unrecovered panic and terminate the process hosting the connection. No confidentiality or integrity impact was identified."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "exploitMaturity": "NOT_DEFINED",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "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",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "temporalio/tchannel-go reasonable worst-case network service embedding"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-129",
                  "description": "CWE-129: Improper Validation of Array Index",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-21T11:36:47.095Z",
            "orgId": "61241ed8-fa44-4f23-92db-b8c443751968",
            "shortName": "Temporal"
          },
          "references": [
            {
              "name": "First affected source revision",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/8d8ca17342b3620d3a6d5c1a825145595e7588ff"
            },
            {
              "name": "Vulnerable zero-chunk fragment handling",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/blob/8706a1ab5f617efd79dace7ab2d1d80cc1881df0/fragmenting_reader.go#L256-L308"
            },
            {
              "name": "Direct inbound call route",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/1dcfa67262ecd56a24f12940f4082549190cb5d1"
            },
            {
              "name": "Zero-chunk fragment validation fix",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/tchannel-go/pull/14"
            },
            {
              "name": "First fixed source revision",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/0cb017f6870a8420695abeb9a4560d39dadc4e2e"
            },
            {
              "name": "Fixed release tag v1.22.1",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/tree/v1.22.1"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eUpgrade github.com/temporalio/tchannel-go to v1.22.1 or later. The fix rejects fragments containing no argument chunks before indexing the chunk slice.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "temporalio/tchannel-go zero-chunk call fragment causes process termination",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eRestrict 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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "61241ed8-fa44-4f23-92db-b8c443751968",
        "assignerShortName": "Temporal",
        "cveId": "CVE-2026-65653",
        "datePublished": "2026-09-21T11:36:47.095Z",
        "dateReserved": "2026-07-22T18:08:48.925Z",
        "dateUpdated": "2026-09-21T15:28:21.825Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-65652 (GCVE-0-2026-65652)

    Vulnerability from cvelistv5 – Published: 2026-09-21 11:35 – Updated: 2026-09-21 15:30
    VLAI
    Title
    temporalio/tchannel-go malformed checksum type causes process termination
    Summary
    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.
    SSVC
    Exploitation: none Automatable: yes Technical Impact: partial
    CISA Coordinator · CISA-ADP (v2.0.3)
    Decision recorded 2026-09-21 15:29 UTC
    CWE
    • CWE-129 - Improper Validation of Array Index
    Impacted products
    Vendor Product Version
    Temporal Technologies, Inc. temporalio/tchannel-go Affected: 0.0.0-20160105034737-a6904155f628 , < 1.22.1-0.20260720194454-0cb017f6870a (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-65652",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-21T15:29:36.927700Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-21T15:30:00.325Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://pkg.go.dev",
              "defaultStatus": "unaffected",
              "modules": [
                "Checksum",
                "Frame parser"
              ],
              "packageName": "github.com/temporalio/tchannel-go",
              "product": "temporalio/tchannel-go",
              "programFiles": [
                "checksum.go",
                "reqres.go",
                "inbound.go"
              ],
              "repo": "https://github.com/temporalio/tchannel-go",
              "vendor": "Temporal Technologies, Inc.",
              "versions": [
                {
                  "lessThan": "1.22.1-0.20260720194454-0cb017f6870a",
                  "status": "affected",
                  "version": "0.0.0-20160105034737-a6904155f628",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eThe CVSS Base score reflects an application that exposes a tchannel-go listener to untrusted network peers without an authenticated transport. The library accepts caller-supplied listeners and dialers, so an embedding application can require mutually authenticated TLS. When client certificates are required and verified, unauthenticated peers are rejected before TChannel frame parsing and the deployment should be assessed using appropriate Environmental metrics.\u003c/p\u003e"
                }
              ],
              "value": "The CVSS Base score reflects an application that exposes a tchannel-go listener to untrusted network peers without an authenticated transport. The library accepts caller-supplied listeners and dialers, so an embedding application can require mutually authenticated TLS. When client certificates are required and verified, unauthenticated peers are rejected before TChannel frame parsing and the deployment should be assessed using appropriate Environmental metrics."
            }
          ],
          "credits": [
            {
              "lang": "en",
              "type": "finder",
              "value": "An external security researcher who reported this issue responsibly to Temporal Technologies"
            }
          ],
          "descriptions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003egithub.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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ],
          "impacts": [
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Denial of service: one malformed TChannel call request can cause an unrecovered panic and terminate the process hosting the listener. No confidentiality or integrity impact was identified."
                }
              ]
            }
          ],
          "metrics": [
            {
              "cvssV4_0": {
                "Automatable": "NOT_DEFINED",
                "Recovery": "NOT_DEFINED",
                "Safety": "NOT_DEFINED",
                "attackComplexity": "LOW",
                "attackRequirements": "NONE",
                "attackVector": "NETWORK",
                "baseScore": 8.7,
                "baseSeverity": "HIGH",
                "exploitMaturity": "NOT_DEFINED",
                "privilegesRequired": "NONE",
                "providerUrgency": "NOT_DEFINED",
                "subAvailabilityImpact": "NONE",
                "subConfidentialityImpact": "NONE",
                "subIntegrityImpact": "NONE",
                "userInteraction": "NONE",
                "valueDensity": "NOT_DEFINED",
                "vectorString": "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",
                "version": "4.0",
                "vulnAvailabilityImpact": "HIGH",
                "vulnConfidentialityImpact": "NONE",
                "vulnIntegrityImpact": "NONE",
                "vulnerabilityResponseEffort": "NOT_DEFINED"
              },
              "format": "CVSS",
              "scenarios": [
                {
                  "lang": "en",
                  "value": "temporalio/tchannel-go reasonable worst-case network service embedding"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-129",
                  "description": "CWE-129: Improper Validation of Array Index",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-21T11:35:40.896Z",
            "orgId": "61241ed8-fa44-4f23-92db-b8c443751968",
            "shortName": "Temporal"
          },
          "references": [
            {
              "name": "First affected source revision",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/a6904155f628b9e602b7bc88ef489004a786f7f4"
            },
            {
              "name": "Vulnerable checksum-type parsing",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/blob/8706a1ab5f617efd79dace7ab2d1d80cc1881df0/reqres.go#L280-L295"
            },
            {
              "name": "Vulnerable checksum-pool access",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/blob/8706a1ab5f617efd79dace7ab2d1d80cc1881df0/checksum.go#L29-L93"
            },
            {
              "name": "Checksum-type validation fix",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/tchannel-go/pull/14"
            },
            {
              "name": "First fixed source revision",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/tchannel-go/commit/0cb017f6870a8420695abeb9a4560d39dadc4e2e"
            },
            {
              "name": "Fixed release tag v1.22.1",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/tchannel-go/tree/v1.22.1"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eUpgrade 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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "temporalio/tchannel-go malformed checksum type causes process termination",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eRestrict 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.\u003c/p\u003e"
                }
              ],
              "value": "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."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "61241ed8-fa44-4f23-92db-b8c443751968",
        "assignerShortName": "Temporal",
        "cveId": "CVE-2026-65652",
        "datePublished": "2026-09-21T11:35:40.896Z",
        "dateReserved": "2026-07-22T18:08:48.925Z",
        "dateUpdated": "2026-09-21T15:30:00.325Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }