{"id":"CVE-2026-102340","kind":"vulnerability","aliases":["CVE-2026-102340"],"related":[],"title":"Telepresence: unauthenticated gRPC API lets pods intercept traffic and read secrets","description":"Telepresence enables local development against a remote Kubernetes or OpenShift cluster. Prior to 2.31.0, the Traffic Manager gRPC API on port 8081 accepts unauthenticated cluster-network callers, ArriveAsClient stores a caller-supplied Namespace using only the ManagesNamespace manager watchlist check, and CreateIntercept can target any managed namespace without checking the session's Kubernetes RBAC. An attacker operating any pod with network access to the manager can register in an arbitrary managed namespace, create service intercepts, receive intercepted traffic, and obtain the victim pod's complete container environment, including secrets, tokens, and API keys. The default cluster-wide deployment manages all namespaces. This vulnerability is fixed in 2.31.0.","summary":"Telepresence's Traffic Manager gRPC API on port 8081 accepts callers without authentication and does not check Kubernetes RBAC before creating intercepts. An attacker with network access to the manager in any managed namespace can receive intercepted traffic and read the victim pod's environment, including secrets, tokens and API keys.","severity":"high","cvss":8.5,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["infrastructure","kubernetes","openshift","self-hosted","telepresence"],"not_affected_if":["no-telepresence-deployed","version-2.31.0-or-later"],"how_to_check":"- Check the installed Telepresence version with `telepresence version` and compare it to the fixed release.\n- Confirm whether the Traffic Manager is deployed cluster-wide with `kubectl get deploy traffic-manager -A`.\n- Check whether port 8081 on the Traffic Manager is reachable from ordinary pods on the cluster network.","fix":"- Telepresence: upgrade to `2.31.0` or later.","status":"open","published_at":"2026-11-04T21:17:40+00:00","first_seen_at":"2026-11-04T21:49:17+00:00","triaged_at":"2026-11-04T21:50:41+00:00","updated_at":"2026-11-04T21:50:41+00:00","category":"infrastructure","confidence":0.8,"triage":{"at":"2026-11-04T21:50:41Z","model":"claude-haiku-5-5","output":{"fix":"- Telepresence: upgrade to `2.31.0` or later.","reach":"network","title":"Telepresence: unauthenticated gRPC API lets pods intercept traffic and read secrets","impact":"high","summary":"Telepresence's Traffic Manager gRPC API on port 8081 accepts callers without authentication and does not check Kubernetes RBAC before creating intercepts. An attacker with network access to the manager in any managed namespace can receive intercepted traffic and read the victim pod's environment, including secrets, tokens and API keys.","audience":"businesses","category":"infrastructure","nicknames":[],"who_cares":["kubernetes","openshift","telepresence","self-hosted"],"confidence":0.8,"fix_status":"available","needs_auth":"no","worst_case":"Attacker reads pod secrets, tokens and API keys in any managed namespace","analyst_note":"","how_to_check":"- Check the installed Telepresence version with `telepresence version` and compare it to the fixed release.\n- Confirm whether the Traffic Manager is deployed cluster-wide with `kubectl get deploy traffic-manager -A`.\n- Check whether port 8081 on the Traffic Manager is reachable from ordinary pods on the cluster network.","plain_action":"","needs_analyst":false,"not_affected_if":["version-2.31.0-or-later","no-telepresence-deployed"],"who_is_affected":"Teams running Telepresence against a Kubernetes or OpenShift cluster, especially with the default cluster-wide Traffic Manager that manages all namespaces. Any workload pod with cluster network access to the manager can exploit it without credentials, so the exposure is wider than the developers using Telepresence. Clusters that do not run Telepresence, or run it on a version at or above 2.31.0, are not affected.","user_interaction":"no","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000766,"input_tokens":4347,"output_tokens":662,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-102340':14A,17A '-2026':13A,16A '2.31.0':89C,185C '8081':33B,97C 'accept':34B,98C 'access':51B,139C 'api':4A,30B,74B,94C,169C 'arbitrari':147C 'arriveascli':104C 'attack':48B,133C 'authent':37B 'caller':35B,103C,108C 'caller-suppli':107C 'check':41B,117C,126C 'cluster':86C,101C,174C 'cluster-network':100C 'cluster-wid':173C 'complet':162C 'contain':163C 'creat':45B,150C 'createintercept':119C 'cve':12A,15A 'default':172C 'deploy':176C 'develop':79C 'enabl':77C 'environ':69B,164C 'fix':183C 'grpc':3A,29B,93C 'host':23B 'includ':70B,165C 'infrastructur':18B 'intercept':7A,46B,61B,152C,154C 'key':75B,170C 'kubernet':19B,42B,83C,130C 'let':5A 'local':78C 'manag':28B,54B,57B,92C,115C,123C,142C,148C,177C 'managesnamespac':114C 'namespac':58B,110C,124C,149C,179C 'network':50B,102C,138C 'obtain':157C 'openshift':20B,85C 'oper':134C 'pod':6A,67B,136C,160C 'port':32B,96C 'prior':87C 'rbac':43B,131C 'read':10A,64B 'receiv':60B,153C 'regist':144C 'remot':82C 'secret':11A,71B,166C 'self':22B 'self-host':21B 'servic':151C 'session':128C 'store':105C 'suppli':109C 'target':121C 'telepres':1A,24B,25B,76C 'token':72B,167C 'traffic':8A,27B,62B,91C,155C 'unauthent':2A,99C 'use':111C 'victim':66B,159C 'vulner':181C 'watchlist':116C 'wide':175C 'without':36B,125C","nicknames":[],"mitigations":[],"who_affected":"Teams running Telepresence against a Kubernetes or OpenShift cluster, especially with the default cluster-wide Traffic Manager that manages all namespaces. Any workload pod with cluster network access to the manager can exploit it without credentials, so the exposure is wider than the developers using Telepresence. Clusters that do not run Telepresence, or run it on a version at or above 2.31.0, are not affected.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["high","infrastructure","kubernetes","openshift","selfhosted","telepresence"],"campaign_type":null,"first_public_at":"2026-07-22T07:20:01+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:L/A:N","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-102340","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102340","severity":null,"published_at":"2026-11-04T21:17:40+00:00","modified_at":"2026-11-04T21:17:40+00:00","first_seen_at":"2026-11-04T21:49:17+00:00","fetched_at":"2026-11-04T21:49:17+00:00","note":null}],"documents":[{"id":70611,"url":"https://github.com/telepresenceio/telepresence/commit/04ec3464fe8878fdc96420cdc8036edefa0dc9ae","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":70608,"url":"https://github.com/telepresenceio/telepresence/commit/36458b65a010d2b316af48cd90e193ba190785d9","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":70613,"url":"https://github.com/telepresenceio/telepresence/commit/6871235b674a6e843908d09696354c4b0f91578c","title":"Patch: github.com","kind":"other","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Patch: github.com"},{"id":70609,"url":"https://github.com/telepresenceio/telepresence/releases/tag/v2.31.0","title":"Release notes: github.com","kind":"release","source":"nvd","publisher":"vendor","text":null,"published_at":null,"relation":"fix","confidence":null,"note":"Release notes: github.com"},{"id":70615,"url":"https://github.com/telepresenceio/telepresence/security/advisories/GHSA-j8j4-rw65-56r6","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-07-22T07:20:01+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"}],"exploit_sources":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}