{"id":"CVE-2026-114638","kind":"vulnerability","aliases":["CVE-2026-114638"],"related":[],"title":"Traefik: Kubernetes Ingress NGINX client CA merge lets other CA certificates in","description":"Traefik v3.7.0 before v3.7.14 contains an improper authentication vulnerability in the Kubernetes Ingress NGINX provider that merges client CAs when auth-tls-secret names collide after dot-to-dash normalization. Attackers holding certificates from another host's CA can access a host requiring its own client CA, while that host's legitimate clients are refused.","summary":"Traefik v3.7.0 before v3.7.14 merges client CA certificates when auth-tls-secret names collide after dot-to-dash normalization in the Kubernetes Ingress NGINX provider. An attacker holding a certificate from another host's CA can reach a host that should require its own client CA, while that host's legitimate clients are refused.","severity":"high","cvss":8.7,"epss":0.00186,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["ingress-nginx-provider","kubernetes","mutual-tls","runtime","traefik"],"not_affected_if":["no-auth-tls-secret-annotation","no-kubernetes-ingress-nginx-provider","not-on-3.7.x","single-client-ca"],"how_to_check":"Check the Traefik version with traefik version or the image tag; affected if between v3.7.0 and v3.7.13.\nIn Kubernetes, look for Ingress resources using the auth-tls-secret annotation whose secret names differ only by dots versus dashes.","fix":"Upgrade Traefik to v3.7.14 or later.\nIf you cannot upgrade, give each auth-tls-secret a name that does not collide after dot-to-dash normalization (unverified workaround; the sources do not confirm it).","status":"open","published_at":"2026-10-22T02:16:56+00:00","first_seen_at":"2026-10-23T21:57:30+00:00","triaged_at":"2026-10-23T22:35:29+00:00","updated_at":"2026-10-24T07:15:52+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-10-23T22:35:29Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade Traefik to v3.7.14 or later.\nIf you cannot upgrade, give each auth-tls-secret a name that does not collide after dot-to-dash normalization (unverified workaround; the sources do not confirm it).","reach":"network","title":"Traefik: Kubernetes Ingress NGINX client CA merge lets other CA certificates in","impact":"medium","summary":"Traefik v3.7.0 before v3.7.14 merges client CA certificates when auth-tls-secret names collide after dot-to-dash normalization in the Kubernetes Ingress NGINX provider. An attacker holding a certificate from another host's CA can reach a host that should require its own client CA, while that host's legitimate clients are refused.","category":"runtime","who_cares":["traefik","kubernetes","ingress-nginx-provider","mutual-tls"],"confidence":0.6,"needs_auth":"yes","worst_case":"Certificate holders from another CA reach protected hosts without authorization.","analyst_note":"Confirm the exact affected range and whether a workaround exists; check the Traefik v3.7.14 release notes at the NVD-linked advisory.","how_to_check":"Check the Traefik version with traefik version or the image tag; affected if between v3.7.0 and v3.7.13.\nIn Kubernetes, look for Ingress resources using the auth-tls-secret annotation whose secret names differ only by dots versus dashes.\nunknown","needs_analyst":true,"not_affected_if":["not-on-3.7.x","no-kubernetes-ingress-nginx-provider","no-auth-tls-secret-annotation","single-client-ca"],"user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000599,"input_tokens":2945,"output_tokens":609,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-114638':14A,17A '-2026':13A,16A 'access':125C 'anoth':61B,120C 'attack':56B,116C 'auth':38B,105C 'auth-tls-secret':37B,104C 'authent':91C 'ca':6A,10A,34B,64B,75B,123C,132C 'cas':102C 'certif':11A,35B,59B,118C 'client':5A,33B,74B,81B,101C,131C,138C 'collid':42B,109C 'contain':88C 'cve':12A,15A 'dash':47B,114C 'dot':45B,112C 'dot-to-dash':44B,111C 'hold':57B,117C 'host':62B,68B,78B,121C,127C,135C 'improp':90C 'ingress':3A,19B,52B,96C 'ingress-nginx-provid':18B 'kubernet':2A,22B,51B,95C 'legitim':80B,137C 'let':8A 'merg':7A,32B,100C 'mutual':24B 'mutual-tl':23B 'name':41B,108C 'nginx':4A,20B,53B,97C 'normal':48B,115C 'provid':21B,54B,98C 'reach':66B 'refus':83B,140C 'requir':71B,128C 'runtim':26B 'secret':40B,107C 'tls':25B,39B,106C 'traefik':1A,27B,28B,84C 'v3.7.0':29B,85C 'v3.7.14':31B,87C 'vulner':92C","nicknames":[],"mitigations":[],"who_affected":null,"tier":"B","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-22T02:16:56+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/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","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-114638","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-114638","severity":null,"published_at":"2026-10-22T02:16:56+00:00","modified_at":"2026-10-23T15:17:27+00:00","first_seen_at":"2026-10-23T21:57:30+00:00","fetched_at":"2026-10-23T22:29:02+00:00","note":null},{"source":"epss","external_id":"CVE-2026-114638","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-114638","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T07:15:52+00:00","fetched_at":"2026-10-25T12:38:51+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}