Search

Find a vulnerability

Search criteria

    2 vulnerabilities found for temporalio/ringpop-go by Temporal Technologies, Inc.

    CVE-2026-65654 (GCVE-0-2026-65654)

    Vulnerability from nvd – Published: 2026-09-21 11:38 – Updated: 2026-09-21 15:26
    VLAI
    Title
    temporalio/ringpop-go fails to enforce configured label limits on inbound membership gossip
    Summary
    github.com/temporalio/ringpop-go enforces configured LabelOptions limits when an application changes the local node's labels, but affected versions do not apply those limits to label maps received in SWIM membership changes. A network peer that can reach a live Ringpop TChannel listener can repeatedly submit changes for distinct member addresses containing label keys, values, or counts that exceed the receiver's configured limits. Accepted labels are retained in the member list and disseminated to peers, allowing memory and gossip-bandwidth consumption to exceed configured bounds and potentially making the hosting process unavailable. The fix validates peer-supplied label maps before they are retained or disseminated. Availability only; 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:26 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Impacted products
    Vendor Product Version
    Temporal Technologies, Inc. temporalio/ringpop-go Affected: 0.0.0-20160824133849-d0de5fe13330 , < 0.0.0-20260724173031-c317effcdc8b (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-65654",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-21T15:26:15.984122Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-21T15:26:44.632Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://pkg.go.dev",
              "defaultStatus": "unaffected",
              "modules": [
                "Labels",
                "SWIM membership"
              ],
              "packageName": "github.com/temporalio/ringpop-go",
              "product": "temporalio/ringpop-go",
              "programFiles": [
                "swim/labels.go",
                "swim/member.go",
                "swim/memberlist.go"
              ],
              "repo": "https://github.com/temporalio/ringpop-go",
              "vendor": "Temporal Technologies, Inc.",
              "versions": [
                {
                  "lessThan": "0.0.0-20260724173031-c317effcdc8b",
                  "status": "affected",
                  "version": "0.0.0-20160824133849-d0de5fe13330",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eThe CVSS Base score reflects an application that exposes a Ringpop membership listener to untrusted network peers without authenticated transport. Ringpop does not authenticate peers at the application layer. An embedding application can restrict the listener to trusted cluster members or require verified client certificates before TChannel receives a request. Deployments using those controls should apply appropriate Environmental metrics.\u003c/p\u003e"
                }
              ],
              "value": "The CVSS Base score reflects an application that exposes a Ringpop membership listener to untrusted network peers without authenticated transport. Ringpop does not authenticate peers at the application layer. An embedding application can restrict the listener to trusted cluster members or require verified client certificates before TChannel receives a request. Deployments using those controls should apply 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/ringpop-go enforces configured LabelOptions limits when an application changes the local node\u0027s labels, but affected versions do not apply those limits to label maps received in SWIM membership changes. A network peer that can reach a live Ringpop TChannel listener can repeatedly submit changes for distinct member addresses containing label keys, values, or counts that exceed the receiver\u0027s configured limits. Accepted labels are retained in the member list and disseminated to peers, allowing memory and gossip-bandwidth consumption to exceed configured bounds and potentially making the hosting process unavailable. The fix validates peer-supplied label maps before they are retained or disseminated. Availability only; no confidentiality or integrity impact was identified.\u003c/p\u003e"
                }
              ],
              "value": "github.com/temporalio/ringpop-go enforces configured LabelOptions limits when an application changes the local node\u0027s labels, but affected versions do not apply those limits to label maps received in SWIM membership changes. A network peer that can reach a live Ringpop TChannel listener can repeatedly submit changes for distinct member addresses containing label keys, values, or counts that exceed the receiver\u0027s configured limits. Accepted labels are retained in the member list and disseminated to peers, allowing memory and gossip-bandwidth consumption to exceed configured bounds and potentially making the hosting process unavailable. The fix validates peer-supplied label maps before they are retained or disseminated. Availability only; no confidentiality or integrity impact was identified."
            }
          ],
          "impacts": [
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Denial of service through persistent memory and gossip-bandwidth consumption. 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/ringpop-go reasonable worst-case network service embedding"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770: Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-21T11:38:23.307Z",
            "orgId": "61241ed8-fa44-4f23-92db-b8c443751968",
            "shortName": "Temporal"
          },
          "references": [
            {
              "name": "First affected source revision",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/ringpop-go/commit/d0de5fe1333074d5c41a88e9053592e39f495bb2"
            },
            {
              "name": "Configured label limits and their resource-control purpose",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/ringpop-go/blob/b97329e994f792f70427a7533a3e7a98976eb262/swim/labels.go#L11-L61"
            },
            {
              "name": "Vulnerable inbound membership-update path",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/ringpop-go/blob/b97329e994f792f70427a7533a3e7a98976eb262/swim/memberlist.go#L521-L612"
            },
            {
              "name": "Inbound label-validation fix",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/ringpop-go/pull/22"
            },
            {
              "name": "First fixed default-branch revision",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/ringpop-go/commit/c317effcdc8bc09ed1c11f00994782bda9685d4b"
            },
            {
              "name": "Fixed release tag v0.1.0",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/ringpop-go/tree/v0.1.0"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eUpgrade github.com/temporalio/ringpop-go to v0.1.0 or later. The fix validates peer-supplied label maps against the configured LabelOptions before labels are retained or disseminated. Invalid incoming labels are discarded while the remaining membership change can still be processed.\u003c/p\u003e"
                }
              ],
              "value": "Upgrade github.com/temporalio/ringpop-go to v0.1.0 or later. The fix validates peer-supplied label maps against the configured LabelOptions before labels are retained or disseminated. Invalid incoming labels are discarded while the remaining membership change can still be processed."
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "temporalio/ringpop-go fails to enforce configured label limits on inbound membership gossip",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eRestrict the Ringpop membership listener to trusted cluster members. Where supported by the embedding application, require mutual TLS with verified client certificates. These controls prevent untrusted clients from reaching the vulnerable receive path but do not correct the missing validation for an authenticated or compromised peer.\u003c/p\u003e"
                }
              ],
              "value": "Restrict the Ringpop membership listener to trusted cluster members. Where supported by the embedding application, require mutual TLS with verified client certificates. These controls prevent untrusted clients from reaching the vulnerable receive path but do not correct the missing validation for an authenticated or compromised peer."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "61241ed8-fa44-4f23-92db-b8c443751968",
        "assignerShortName": "Temporal",
        "cveId": "CVE-2026-65654",
        "datePublished": "2026-09-21T11:38:23.307Z",
        "dateReserved": "2026-07-22T18:08:48.925Z",
        "dateUpdated": "2026-09-21T15:26:44.632Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }

    CVE-2026-65654 (GCVE-0-2026-65654)

    Vulnerability from cvelistv5 – Published: 2026-09-21 11:38 – Updated: 2026-09-21 15:26
    VLAI
    Title
    temporalio/ringpop-go fails to enforce configured label limits on inbound membership gossip
    Summary
    github.com/temporalio/ringpop-go enforces configured LabelOptions limits when an application changes the local node's labels, but affected versions do not apply those limits to label maps received in SWIM membership changes. A network peer that can reach a live Ringpop TChannel listener can repeatedly submit changes for distinct member addresses containing label keys, values, or counts that exceed the receiver's configured limits. Accepted labels are retained in the member list and disseminated to peers, allowing memory and gossip-bandwidth consumption to exceed configured bounds and potentially making the hosting process unavailable. The fix validates peer-supplied label maps before they are retained or disseminated. Availability only; 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:26 UTC
    CWE
    • CWE-770 - Allocation of Resources Without Limits or Throttling
    Impacted products
    Vendor Product Version
    Temporal Technologies, Inc. temporalio/ringpop-go Affected: 0.0.0-20160824133849-d0de5fe13330 , < 0.0.0-20260724173031-c317effcdc8b (semver)
    Create a notification for this product.
    Show details on NVD website

    {
      "containers": {
        "adp": [
          {
            "metrics": [
              {
                "other": {
                  "content": {
                    "id": "CVE-2026-65654",
                    "options": [
                      {
                        "Exploitation": "none"
                      },
                      {
                        "Automatable": "yes"
                      },
                      {
                        "Technical Impact": "partial"
                      }
                    ],
                    "role": "CISA Coordinator",
                    "timestamp": "2026-09-21T15:26:15.984122Z",
                    "version": "2.0.3"
                  },
                  "type": "ssvc"
                }
              }
            ],
            "providerMetadata": {
              "dateUpdated": "2026-09-21T15:26:44.632Z",
              "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
              "shortName": "CISA-ADP"
            },
            "title": "CISA ADP Vulnrichment"
          }
        ],
        "cna": {
          "affected": [
            {
              "collectionURL": "https://pkg.go.dev",
              "defaultStatus": "unaffected",
              "modules": [
                "Labels",
                "SWIM membership"
              ],
              "packageName": "github.com/temporalio/ringpop-go",
              "product": "temporalio/ringpop-go",
              "programFiles": [
                "swim/labels.go",
                "swim/member.go",
                "swim/memberlist.go"
              ],
              "repo": "https://github.com/temporalio/ringpop-go",
              "vendor": "Temporal Technologies, Inc.",
              "versions": [
                {
                  "lessThan": "0.0.0-20260724173031-c317effcdc8b",
                  "status": "affected",
                  "version": "0.0.0-20160824133849-d0de5fe13330",
                  "versionType": "semver"
                }
              ]
            }
          ],
          "configurations": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eThe CVSS Base score reflects an application that exposes a Ringpop membership listener to untrusted network peers without authenticated transport. Ringpop does not authenticate peers at the application layer. An embedding application can restrict the listener to trusted cluster members or require verified client certificates before TChannel receives a request. Deployments using those controls should apply appropriate Environmental metrics.\u003c/p\u003e"
                }
              ],
              "value": "The CVSS Base score reflects an application that exposes a Ringpop membership listener to untrusted network peers without authenticated transport. Ringpop does not authenticate peers at the application layer. An embedding application can restrict the listener to trusted cluster members or require verified client certificates before TChannel receives a request. Deployments using those controls should apply 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/ringpop-go enforces configured LabelOptions limits when an application changes the local node\u0027s labels, but affected versions do not apply those limits to label maps received in SWIM membership changes. A network peer that can reach a live Ringpop TChannel listener can repeatedly submit changes for distinct member addresses containing label keys, values, or counts that exceed the receiver\u0027s configured limits. Accepted labels are retained in the member list and disseminated to peers, allowing memory and gossip-bandwidth consumption to exceed configured bounds and potentially making the hosting process unavailable. The fix validates peer-supplied label maps before they are retained or disseminated. Availability only; no confidentiality or integrity impact was identified.\u003c/p\u003e"
                }
              ],
              "value": "github.com/temporalio/ringpop-go enforces configured LabelOptions limits when an application changes the local node\u0027s labels, but affected versions do not apply those limits to label maps received in SWIM membership changes. A network peer that can reach a live Ringpop TChannel listener can repeatedly submit changes for distinct member addresses containing label keys, values, or counts that exceed the receiver\u0027s configured limits. Accepted labels are retained in the member list and disseminated to peers, allowing memory and gossip-bandwidth consumption to exceed configured bounds and potentially making the hosting process unavailable. The fix validates peer-supplied label maps before they are retained or disseminated. Availability only; no confidentiality or integrity impact was identified."
            }
          ],
          "impacts": [
            {
              "descriptions": [
                {
                  "lang": "en",
                  "value": "Denial of service through persistent memory and gossip-bandwidth consumption. 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/ringpop-go reasonable worst-case network service embedding"
                }
              ]
            }
          ],
          "problemTypes": [
            {
              "descriptions": [
                {
                  "cweId": "CWE-770",
                  "description": "CWE-770: Allocation of Resources Without Limits or Throttling",
                  "lang": "en",
                  "type": "CWE"
                }
              ]
            }
          ],
          "providerMetadata": {
            "dateUpdated": "2026-09-21T11:38:23.307Z",
            "orgId": "61241ed8-fa44-4f23-92db-b8c443751968",
            "shortName": "Temporal"
          },
          "references": [
            {
              "name": "First affected source revision",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/ringpop-go/commit/d0de5fe1333074d5c41a88e9053592e39f495bb2"
            },
            {
              "name": "Configured label limits and their resource-control purpose",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/ringpop-go/blob/b97329e994f792f70427a7533a3e7a98976eb262/swim/labels.go#L11-L61"
            },
            {
              "name": "Vulnerable inbound membership-update path",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/ringpop-go/blob/b97329e994f792f70427a7533a3e7a98976eb262/swim/memberlist.go#L521-L612"
            },
            {
              "name": "Inbound label-validation fix",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/ringpop-go/pull/22"
            },
            {
              "name": "First fixed default-branch revision",
              "tags": [
                "patch"
              ],
              "url": "https://github.com/temporalio/ringpop-go/commit/c317effcdc8bc09ed1c11f00994782bda9685d4b"
            },
            {
              "name": "Fixed release tag v0.1.0",
              "tags": [
                "product"
              ],
              "url": "https://github.com/temporalio/ringpop-go/tree/v0.1.0"
            }
          ],
          "solutions": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eUpgrade github.com/temporalio/ringpop-go to v0.1.0 or later. The fix validates peer-supplied label maps against the configured LabelOptions before labels are retained or disseminated. Invalid incoming labels are discarded while the remaining membership change can still be processed.\u003c/p\u003e"
                }
              ],
              "value": "Upgrade github.com/temporalio/ringpop-go to v0.1.0 or later. The fix validates peer-supplied label maps against the configured LabelOptions before labels are retained or disseminated. Invalid incoming labels are discarded while the remaining membership change can still be processed."
            }
          ],
          "source": {
            "discovery": "EXTERNAL"
          },
          "title": "temporalio/ringpop-go fails to enforce configured label limits on inbound membership gossip",
          "workarounds": [
            {
              "lang": "en",
              "supportingMedia": [
                {
                  "base64": false,
                  "type": "text/html",
                  "value": "\u003cp\u003eRestrict the Ringpop membership listener to trusted cluster members. Where supported by the embedding application, require mutual TLS with verified client certificates. These controls prevent untrusted clients from reaching the vulnerable receive path but do not correct the missing validation for an authenticated or compromised peer.\u003c/p\u003e"
                }
              ],
              "value": "Restrict the Ringpop membership listener to trusted cluster members. Where supported by the embedding application, require mutual TLS with verified client certificates. These controls prevent untrusted clients from reaching the vulnerable receive path but do not correct the missing validation for an authenticated or compromised peer."
            }
          ]
        }
      },
      "cveMetadata": {
        "assignerOrgId": "61241ed8-fa44-4f23-92db-b8c443751968",
        "assignerShortName": "Temporal",
        "cveId": "CVE-2026-65654",
        "datePublished": "2026-09-21T11:38:23.307Z",
        "dateReserved": "2026-07-22T18:08:48.925Z",
        "dateUpdated": "2026-09-21T15:26:44.632Z",
        "state": "PUBLISHED"
      },
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }