Listen to this Post
The vulnerability exists in Traefik’s experimental ingress-nginx provider. It misinterprets the `nginx.ingress.kubernetes.io/proxy-ssl-verify` annotation due to a coding error in `kubernetes.go` at line 512. The logic for setting the `InsecureSkipVerify` TLS field is inverted. When an administrator sets the annotation value to `”on”` to enable TLS certificate verification for backend connections, the code incorrectly evaluates this as `true` for InsecureSkipVerify. In Go’s `crypto/tls` package, `InsecureSkipVerify: true` explicitly disables certificate verification. This creates a dangerous mismatch: operators believe backend TLS is being validated, but the system is actually configured to accept any certificate, including invalid or malicious ones from a man-in-the-middle attacker. This flaw is present from version v3.5.0 onward and is even codified in the project’s own unit tests, confirming the inverted behavior.
Platform: Traefik ingress-nginx provider
Version: v3.5.0 onward
Vulnerability : Inverted TLS Logic
Severity: Critical
date: 2024
Prediction: Patch expected Q3 2024
What Undercode Say:
Analytics:
grep -n "InsecureSkipVerify" pkg/provider/kubernetes/ingress-nginx/kubernetes.go kubectl get ingress -A -o json | jq '.items[].metadata.annotations' docker run --rm traefik version git log --oneline | grep 9bd5c617
How Exploit:
1. Attacker positions as MITM.
2. Operator configures annotation `proxy-ssl-verify: “on”`.
3. Traefik connects to attacker’s spoofed backend.
4. Attacker presents any certificate.
- Traefik accepts connection due to disabled verification (
InsecureSkipVerify: true).
6. Sensitive backend data is intercepted.
Protection from this CVE
Set annotation to `”off”` (enables verification).
Apply external network policies.
Await official patch.
Disable experimental provider.
Impact:
TLS verification bypass.
Man-in-the-middle attacks.
Data interception/decryption.
False sense of security.
🎯Let’s Practice Exploiting & Learn Patching For Free:
Sources:
Reported By: github.com
Extra Source Hub:
Undercode

