CVE-2026-65654 PUBLISHED

temporalio/ringpop-go fails to enforce configured label limits on inbound membership gossip

Assigner: Temporal
Reserved: 22.07.2026 Published: 21.09.2026 Updated: 21.09.2026

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.

Metrics

CVSS 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
CVSS Score: 8.7

temporalio/ringpop-go reasonable worst-case network service embedding

Product Status

Vendor Temporal Technologies, Inc.
Product temporalio/ringpop-go
Versions Default: unaffected
  • affected from 0.0.0-20160824133849-d0de5fe13330 to 0.0.0-20260724173031-c317effcdc8b (excl.)

Affected Configurations

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.

Workarounds

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.

Solutions

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.

Credits

  • An external security researcher who reported this issue responsibly to Temporal Technologies finder

References

Problem Types

  • CWE-770: Allocation of Resources Without Limits or Throttling CWE

Impacts

  • Denial of service through persistent memory and gossip-bandwidth consumption. No confidentiality or integrity impact was identified.