Five Critical Vulns, One Stack, One Week — Patch Order and Chain Analysis
The Cascade
Disclosures this week hit every layer between the internet and the data: reverse proxy (NGINX), ingress controller (Traefik), GitOps controller (Argo CD), AI gateway (LiteLLM), config server (Spring Cloud Config). LiteLLM went from disclosure to active exploitation in 4 hours. It is now on CISA KEV.
If Traefik fronts services that assume auth happened upstream, that assumption is wrong. CVSS 10 means the rubric ran out of knobs.
The Chaining Problem
The chain is not theoretical. Here is what actually happens in a realistic topology:
- Traefik auth bypass reaches any internal service. mTLS terminated at the edge is void.
- Spring Cloud Config traversal reads cloud credentials straight off the config server.
- Argo CD secret extraction hands any authenticated user plaintext K8s secrets, which is cluster-admin on every managed cluster.
- LiteLLM unauthenticated DB query dumps every stored LLM provider API key.
- Stack Linux Copy Fail (CVE-2026-31431) on top. It modifies in-memory files invisibly to AIDE, Tripwire, and dm-verity. Any foothold escalates to root without tripping file integrity alerts.
The NGINX Factor
The 18-year-old NGINX rewrite module RCE is unauthenticated and pre-auth. The request is handled before application middleware, rate limiting, or auth ever sees it. The rewrite module ships in roughly 90%+ of production NGINX deployments. Every fork, every vendored copy, every appliance shipping a pinned NGINX from 2014 is in scope. Check the binaries, not the package manager.
Patch Priority
| Target | CVSS | Priority Rationale |
|---|---|---|
| Traefik | 10.0 | Internet-facing, auth is completely void |
| NGINX | ~9.8 | Internet-facing, pre-auth RCE, PoC expected within days |
| Argo CD | 9.6 | Usually internal, but secrets require rotation post-patch |
| LiteLLM | 9.4 | Already actively exploited (CISA KEV) |
| Spring Cloud | 9.1 | Config servers hold other systems' credentials |
Copy Fail: The Invisible Escalation
CVE-2026-31431 is the one to read twice. An unprivileged user writes 4 bytes into in-memory copies of readable files. On-disk files are never touched, so AIDE, Tripwire, dm-verity, and container image verification see nothing. Every Linux distro since 2017 is affected. Highest exposure: multi-tenant Kubernetes, shared CI runners, and container platforms with shared kernels.
What to do
Patch all Traefik instances against CVE-2026-35051/CVE-2026-39858 today — if downtime required, put a WAF in front as emergency measure
Audit NGINX versions fleet-wide and apply upstream patch before weekend — prioritize instances using rewrite rules on public-facing traffic
Upgrade Argo CD to 3.2.12+ or 3.3.10+ and rotate all K8s secrets accessible to the controller this sprint
If running LiteLLM 1.81.16-1.83.7, upgrade immediately and rotate all stored LLM provider API keys
Schedule kernel updates for Copy Fail across all shared-kernel hosts, prioritize CI runners and multi-tenant nodes