Your Ingress Layer Has Two Independent Pre-Auth RCEs This Week
The Compound Threat
Two unrelated bugs landed on the same architectural layer in the same week. NGINX's rewrite module has an 18-year-old unauthenticated RCE. The module ships in roughly 90% of production configs. Anyone who has written rewrite ^/old /new permanent or used try_files is running it. NGINX terminates TLS and sits in front of the app server, so the bug fires before auth middleware, rate limiting, or input validation ever see the request. Defense in depth does not help when the first hop is owned.
Traefik's auth bypass (CVE-2026-35051/CVE-2026-39858) scores CVSS 10.0. ForwardAuth, BasicAuth, any auth middleware: decorative. Every service behind Traefik is internet-facing without auth until patched. This is a middleware-chain evaluation bug, not a buffer overflow. Architectural.
18 years is older than the module's current maintainer list, older than most deployments running it, and older than the fuzzing harnesses that should have caught it.
The Kill Chain This Enables
Combined with the week's other disclosures, the full stack is reachable:
| Layer | Vulnerability | CVSS | Impact |
|---|---|---|---|
| Ingress | NGINX RCE / Traefik bypass | 10.0 | Pre-auth code execution |
| GitOps | Argo CD secret extraction | 9.6 | Plaintext K8s secrets |
| AI Gateway | LiteLLM (CISA KEV) | 9.8 | DB query, key theft |
| Config | Spring Cloud Config traversal | 9.1 | Arbitrary file read |
| Cache | Redis Lua UAF + RCE | 9.8 | Remote code execution |
Realistic chain: Traefik bypass → internal Spring Config → cloud credentials → data lake. Shorter: Traefik bypass → Argo CD API → K8s secrets → cluster admin. Layer the kernel LPE on top and any foothold escalates to root.
Argo CD Requires More Than Patching
Argo CD 3.2.0-3.2.11 and 3.3.0-3.3.9 let any authenticated user read plaintext Kubernetes secrets. Argo CD usually runs with cluster-admin RBAC. That means database passwords, cloud credentials, TLS private keys, and service tokens are all reachable from one compromised account. Patching is necessary but not sufficient. Rotate every secret Argo CD could reach. Audit who had access during the vulnerable window.
LiteLLM: 4 Hours From Disclosure to Wild Exploitation
LiteLLM's unauthenticated database access (CVE-2026-42208) is on CISA's Known Exploited Vulnerabilities list. KEV means observed exploitation, not theoretical. Disclosure to active exploitation: four hours. 'Patch critical within 30 days' is an order of magnitude too slow for internet-facing AI services.
Patch Order
- NGINX — internet-facing, unauthenticated, largest blast radius. Check forks and vendored copies, not just the package manager.
- Traefik — internet-facing. Every service behind it is exposed until the binary is replaced.
- Argo CD — usually internal, but secrets may already be exfiltrated. Rotate credentials.
- LiteLLM — if running 1.81.16-1.83.7, assume API keys compromised. Rotate every LLM provider key.
- Kernel — schedule reboots. Copy Fail (CVE-2026-31431) is invisible to file integrity tools.
What to do
Inventory all NGINX instances and apply upstream patch today — prioritize internet-facing reverse proxies, check vendored copies and appliances
Patch Traefik against CVE-2026-35051/CVE-2026-39858 today — if patching requires downtime, put a WAF or alternate proxy in front as emergency measure
Upgrade Argo CD to 3.2.12+ or 3.3.10+ and rotate ALL Kubernetes secrets accessible to the controller this sprint
If running LiteLLM 1.81.16-1.83.7, upgrade and rotate all stored LLM API keys immediately