CVE-2026-102339: Telepresence: Tunnel endpoint accepts caller-supplied session ID with no ownership proof — active client sessions hijackable
Telepresence enables local development against a remote Kubernetes or OpenShift cluster. Prior to 2.31.0, the Traffic Manager Tunnel gRPC streaming endpoint parses a session ID from the first bytes of a caller-controlled message in pkg/tunnel/message.go and passes it to state.Tunnel without verifying that the caller owns the active session. An attacker who obtains a valid active session ID through log leakage, cluster-internal channels, or the unauthenticated ArriveAsClient endpoint can attach a routed tunnel to that session and gain its network routing capabilities. UUID4 session IDs make cold brute force impractical. This vulnerability is fixed in 2.31.0.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Telepresenceto a version that resolves this vulnerability.Fixed in 2.31.0
Event History
Frequently Asked Questions
Who is realistically exposed to session hijacking?
Deployments running Telepresence versions prior to 2.31.0 are exposed when an attacker can obtain a valid active session ID. The described sources include leaked logs, cluster-internal channels, and the unauthenticated ArriveAsClient endpoint.
Does an attacker need to guess a session ID?
No. Exploitation requires a valid active session ID, but UUID4 session IDs make cold brute-force guessing impractical. The practical risk is disclosure or acquisition of an active ID through the identified channels.
What can an attacker do with a stolen active session ID?
An attacker can attach a routed tunnel to the active session and gain that session's network routing capabilities. The endpoint does not verify that the caller owns the session before passing the supplied ID to the tunnel state.
What is the remediation?
Upgrade Telepresence to version 2.31.0, which fixes the missing session-ownership verification. If upgrading cannot happen immediately, reduce exposure of active session IDs, including preventing their disclosure through logs and limiting access to relevant cluster-internal channels and the ArriveAsClient endpoint.