Perimeter Under Siege: NGINX + Traefik + The Invisible Kernel LPE
Three layers compromised simultaneously
Traefik shipped a CVSS 10.0 authentication bypass this week alongside an 18-year-old unauthenticated RCE in NGINX's rewrite module and a Linux kernel LPE called Copy Fail (CVE-2026-31431) that is invisible to every file integrity tool in production. The three chain cleanly into root on a tenant cluster.
The rewrite module is not optional. It handles URL rewriting and ships in roughly 90%+ of production deployments. Anyone who has written `rewrite ^/old-path /new-path permanent;` is using it.
NGINX: pre-auth code execution
The RCE fires at the rewrite stage, before application auth, rate limiting, or input validation ever sees the request. Pre-auth, pre-rate-limit, pre-validation. Eighteen years undetected means every fork, vendored copy, and appliance shipping pinned NGINX from 2014 onward is in scope. Check the binaries, not the package manager.
Traefik: middleware does nothing
The bypass (CVE-2026-35051/CVE-2026-39858) scores a perfect 10.0 because it is network-reachable at zero complexity and zero privilege. If ForwardAuth, BasicAuth, or any auth middleware is deployed, those controls do nothing right now. Every internal service behind Traefik is effectively internet-facing without authentication. This is a defect in how middleware chains get evaluated, not a buffer overflow. The fix will not be a one-line patch.
Copy Fail: invisible to integrity tooling
CVE-2026-31431 lets any unprivileged user write 4 bytes into in-memory file copies without modifying on-disk content. AIDE, Tripwire, dm-verity, and container image verification all see nothing, because nothing on disk changed. Every Linux distro shipped since 2017 is affected. The high-risk surface is multi-tenant Kubernetes, shared CI runners, and any container platform with shared kernels.
The compound chain
Realistic path: Traefik bypass → Spring Cloud Config traversal (CVSS 9.1) → cloud credentials → Argo CD secret extraction (CVSS 9.6) → full cluster. The shorter version skips the config server: Traefik bypass into the internal Argo CD API, then extract K8s secrets. Layer Copy Fail on top and any container foothold escalates to host root without tripping a single integrity alert.
Also on CISA KEV this week
LiteLLM (CVE-2026-42208) is being exploited in the wild. Unauthenticated database access to the AI gateway that typically stores every LLM provider API key. If running versions 1.81.16-1.83.7, assume the stored keys are compromised and rotate.
What to do
Inventory all NGINX instances and patch the rewrite module RCE immediately. Check both NGINX Plus and Open Source. Prioritize internet-facing reverse proxies.
Patch Traefik against CVE-2026-35051/CVE-2026-39858 within 24 hours. If downtime is required, temporarily place a WAF or direct service exposure behind alternate auth.
Patch Linux kernels for Copy Fail (CVE-2026-31431) on all multi-tenant hosts and CI runners this sprint. Evaluate gVisor/Kata as interim isolation.
Upgrade Argo CD to 3.2.12+ or 3.3.10+ and rotate ALL Kubernetes secrets the controller could reach. Audit who had access during the vulnerable window.
If running LiteLLM 1.81.16-1.83.7, take offline immediately and rotate all stored LLM provider API keys.