{"api_version":"1","generated_at":"2026-09-23T18:53:51+00:00","cve":"CVE-2026-65654","urls":{"html":"https://cve.report/CVE-2026-65654","api":"https://cve.report/api/cve/CVE-2026-65654.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-65654","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-65654"},"summary":{"title":"temporalio/ringpop-go fails to enforce configured label limits on inbound membership gossip","description":"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.","state":"PUBLISHED","assigner":"Temporal","published_at":"2026-09-21 12:17:16","updated_at":"2026-09-22 19:40:05"},"problem_types":["CWE-770","CWE-770 CWE-770: Allocation of Resources Without Limits or Throttling"],"metrics":[{"version":"4.0","source":"security@temporal.io","type":"Secondary","score":"8.7","severity":"HIGH","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/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","data":{"version":"4.0","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/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","baseScore":8.7,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}},{"version":"4.0","source":"CNA","type":"CVSS","score":"8.7","severity":"HIGH","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","data":{"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"}}],"references":[{"url":"https://github.com/temporalio/ringpop-go/commit/c317effcdc8bc09ed1c11f00994782bda9685d4b","name":"https://github.com/temporalio/ringpop-go/commit/c317effcdc8bc09ed1c11f00994782bda9685d4b","refsource":"security@temporal.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/temporalio/ringpop-go/tree/v0.1.0","name":"https://github.com/temporalio/ringpop-go/tree/v0.1.0","refsource":"security@temporal.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/temporalio/ringpop-go/pull/22","name":"https://github.com/temporalio/ringpop-go/pull/22","refsource":"security@temporal.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/temporalio/ringpop-go/blob/b97329e994f792f70427a7533a3e7a98976eb262/swim/memberlist.go#L521-L612","name":"https://github.com/temporalio/ringpop-go/blob/b97329e994f792f70427a7533a3e7a98976eb262/swim/memberlist.go#L521-L612","refsource":"security@temporal.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/temporalio/ringpop-go/blob/b97329e994f792f70427a7533a3e7a98976eb262/swim/labels.go#L11-L61","name":"https://github.com/temporalio/ringpop-go/blob/b97329e994f792f70427a7533a3e7a98976eb262/swim/labels.go#L11-L61","refsource":"security@temporal.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/temporalio/ringpop-go/commit/d0de5fe1333074d5c41a88e9053592e39f495bb2","name":"https://github.com/temporalio/ringpop-go/commit/d0de5fe1333074d5c41a88e9053592e39f495bb2","refsource":"security@temporal.io","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-65654","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-65654","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Temporal Technologies, Inc.","product":"temporalio/ringpop-go","version":"affected 0.0.0-20160824133849-d0de5fe13330 0.0.0-20260724173031-c317effcdc8b semver","platforms":[]}],"timeline":[],"solutions":[{"source":"CNA","title":"","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.","time":"","lang":"en"}],"workarounds":[{"source":"CNA","title":"","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.","time":"","lang":"en"}],"exploits":[],"credits":[{"source":"CNA","value":"An external security researcher who reported this issue responsibly to Temporal Technologies","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"65654","cve":"CVE-2026-65654","epss":"0.005520000","percentile":"0.449970000","score_date":"2026-09-22","updated_at":"2026-09-23 00:06:33"},"legacy_qids":[]},"source_records":{"cve_program":{"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":"<p>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.</p>"}],"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":"<p>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.</p>"}],"value":"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."}],"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":"<p>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.</p>"}],"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":"<p>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.</p>"}],"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"},"nvd":{"publishedDate":"2026-09-21 12:17:16","lastModifiedDate":"2026-09-22 19:40:05","problem_types":["CWE-770","CWE-770 CWE-770: Allocation of Resources Without Limits or Throttling"],"metrics":{"cvssMetricV40":[{"source":"security@temporal.io","type":"Secondary","cvssData":{"version":"4.0","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/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","baseScore":8.7,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-09-21T15:26:15.984122Z","id":"CVE-2026-65654","options":[{"exploitation":"none"},{"automatable":"yes"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"65654","Ordinal":"1","Title":"temporalio/ringpop-go fails to enforce configured label limits o","CVE":"CVE-2026-65654","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"65654","Ordinal":"1","NoteData":"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.","Type":"Description","Title":"temporalio/ringpop-go fails to enforce configured label limits o"}]}}}