<Vulnerability name="CVE-2026-85596">
    <DocumentDistribution xml:lang="en">Copyright © 2012 Red Hat, Inc. All rights reserved.</DocumentDistribution>
    <ThreatSeverity>Important</ThreatSeverity>
    <PublicDate>2026-09-04T11:30:00</PublicDate>
    <Bugzilla id="2529028" url="https://bugzilla.redhat.com/show_bug.cgi?id=2529028" xml:lang="en:us">
github.com/traefik/traefik: Traefik: Authentication bypass due to TLS configuration conflict
    </Bugzilla>
    <CVSS3 status="draft">
        <CVSS3BaseScore>7.5</CVSS3BaseScore>
        <CVSS3ScoringVector>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N</CVSS3ScoringVector>
    </CVSS3>
    <CWE>CWE-305</CWE>
    <Details xml:lang="en:us" source="Mitre">
Traefik versions &gt;= v3.7.0 and &lt;= v3.7.10 contain an authentication bypass in the Kubernetes Ingress NGINX provider. The TLS option generated for an Ingress carrying the nginx.ingress.kubernetes.io/auth-tls-secret annotation was named after the Ingress namespace and name. As a result, two Ingress objects sharing the same host, the same client CA secret, and the same client-authentication mode produced two distinct TLS option names for that host. Traefik treats this as a TLS options conflict and falls back to the entry point's default TLS configuration, which does not request a client certificate, so a route configured with nginx.ingress.kubernetes.io/auth-tls-verify-client: "on" becomes reachable without a client certificate. Only the v3.7 line is affected; the issue is fixed in v3.7.11.
    </Details>
    <Details xml:lang="en:us" source="Red Hat">
A flaw was found in Traefik. This vulnerability allows a remote attacker to bypass authentication, gaining unauthorized access to protected routes. This occurs due to a conflict in how Traefik handles Transport Layer Security (TLS) options when specific Kubernetes Ingress objects are configured. The conflict causes Traefik to use a less secure default configuration, negating the requirement for client certificates.
    </Details>
    <Statement xml:lang="en:us">
A flaw was found in Traefik's Kubernetes Ingress NGINX provider (v3.7.0 through v3.7.10) where TLS options generated for Ingress objects using the auth-tls-secret annotation are incorrectly named using the namespace and Ingress name. When multiple Ingress objects share the same host, client CA secret, and authentication mode, Traefik misinterprets the resulting distinct TLS option names as a configuration conflict. This causes Traefik to regress to default entrypoint TLS options that do not request client certificates, allowing remote unauthenticated attackers to bypass mTLS requirements on routes protected by auth-tls-verify-client.
    </Statement>
    <Mitigation xml:lang="en:us">
Consolidate Ingress rules sharing the same host and client CA secret into a single Ingress resource, or avoid using the auth-tls-secret annotation across multiple distinct Ingress objects for a shared host. Alternatively, enforce client certificate validation at an upstream load balancer or API gateway until patched.
    </Mitigation>
    <PackageState cpe="cpe:/a:redhat:openshift_devspaces:3">
        <ProductName>Red Hat OpenShift Dev Spaces</ProductName>
        <FixState>Not affected</FixState>
        <PackageName>devspaces/traefik-rhel9</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:openshift_gitops:1">
        <ProductName>Red Hat OpenShift GitOps</ProductName>
        <FixState>Not affected</FixState>
        <PackageName>openshift-gitops-1/argo-rollouts-rhel8</PackageName>
    </PackageState>
    <PackageState cpe="cpe:/a:redhat:openshift_gitops:1">
        <ProductName>Red Hat OpenShift GitOps</ProductName>
        <FixState>Not affected</FixState>
        <PackageName>openshift-gitops-1/argo-rollouts-rhel9</PackageName>
    </PackageState>
    <References xml:lang="en:us">
https://www.cve.org/CVERecord?id=CVE-2026-85596
https://nvd.nist.gov/vuln/detail/CVE-2026-85596
https://github.com/traefik/traefik/security/advisories/GHSA-j994-9gqj-9hwq
https://www.vulncheck.com/advisories/traefik-3.7-authentication-bypass-via-tls-option-conflict
    </References>
</Vulnerability>