Ingress Apocalypse Week: Three Independent Critical Vulns Across Your Request Path
Three independent criticals in one patch cycle
Three unrelated critical CVEs landed the same week. NGINX's rewrite module carries an unauthenticated RCE that has sat in the code path for 18 years. Traefik's authentication middleware scored a CVSS 10.0 bypass. Argo CD's authorization hands out plaintext Kubernetes secrets at CVSS 9.6. This is coincidence, not coordination, which is the worse reading. Any two of these chain into full cluster compromise.
NGINX: the first hop is already owned
The rewrite module is not optional. It ships in 90%+ of production deployments. Anyone using rewrite, try_files, or URL manipulation runs it. The RCE is unauthenticated and executes before the application's auth middleware, rate limiting, or input validation sees the request. Defense in depth does not help when the outermost layer is the one that fell. Every fork, vendored copy, and appliance pinned to NGINX from any point in the last 18 years is in scope. Check the binaries, not the package manager.
Traefik: auth middleware is decorative
CVE-2026-35051 and CVE-2026-39858 both score 10.0. The CVSS rubric does not go higher. ForwardAuth, BasicAuth, and any auth middleware configuration is bypassed entirely. Every internal service behind Traefik is effectively internet-facing with no authentication until patched. The flaw is in how the middleware chain is evaluated, not a buffer overflow. That points at architecture, not a memory bug.
Argo CD: the secrets are readable
CVE-2026-42880 affects versions 3.2.0-3.2.11 and 3.3.0-3.3.9. Any authenticated user can extract plaintext Kubernetes secrets, and Argo CD typically runs with cluster-admin RBAC. Database passwords, cloud credentials, TLS private keys, and inter-service tokens are reachable by anyone with basic Argo CD access. Patching is necessary and insufficient. Rotate every secret Argo CD could reach.
The chain that matters
Traefik bypass to internal Argo CD API to plaintext K8s secrets to cluster ownership. Total required privileges: none.
Add LiteLLM (on CISA KEV, exploited in the wild within 4 hours of disclosure, versions 1.81.16-1.83.7) and Spring Cloud Config (directory traversal, CVSS 9.1, reads cloud credentials from the config server), and the realistic attack paths multiply. The Foxconn incident this week, with 8TB exfiltrated and factories disrupted, is what this looks like when the patch existed and was not applied in time.
Patch order
- NGINX. Remote, unauthenticated, internet-facing. PoC expected within days.
- Traefik. Same reasoning. If patching requires downtime, put a WAF in front temporarily.
- Argo CD. Usually internal. After patching, rotate every accessible secret.
- LiteLLM. If running versions 1.81.16-1.83.7, take it offline now and rotate all stored LLM API keys.
- Linux kernels. Schedule this week for Copy Fail, which is invisible to every file integrity tool.
What to do
Inventory all NGINX instances and apply upstream patch immediately — prioritize internet-facing reverse proxies
Patch Traefik against CVE-2026-35051/CVE-2026-39858 within 24 hours; if downtime required, temporarily replace with direct service exposure behind a WAF
Upgrade Argo CD to 3.2.12+ or 3.3.10+, then rotate every Kubernetes secret the controller could access
Audit LiteLLM deployment; if running affected versions, take offline and rotate all stored API keys