☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Traefik logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 🐛 CWE-444
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-88009

CVE-2026-88009 Vulnerability in Traefik
📅 PUBLISHED: 2026-09-10 00:00 UTC 🔄 UPDATED: 2026-10-02 19:21 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.27%
👁️
0.27% probability
6.8× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: France License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.5
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-88009 is a request-target parsing inconsistency (HTTP request smuggling/desynchronization class, CWE-444) in Traefik, the widely deployed open-source HTTP reverse proxy and load balancer. A rootless HTTP/1 request target is stored by Go in URL.Opaque while URL.Path remains empty; Traefik's rewriteRequestBuilder normalizes the path to / for routing, sanitization, forwardAuth, encodedCharacters evaluation, and access logging, yet forwards the verbatim URL.Opaque value to the backend. This allows cross-vhost routing bypass, path-scoped authorization bypass, and access-log evasion whenever the backend interprets the opaque target as a path. All deployments prior to Traefik 2.11.57 (2.x line) and 3.7.13 (3.x line) that expose Traefik in front of a backend which accepts opaque-style request targets are affected.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

Traefik is an HTTP reverse proxy and load balancer that terminates client connections and forwards requests to upstream services based on routing rules (routers), middleware chains, and path-based matching. The vulnerability resides in the divergence between how Traefik evaluates a request and how it forwards that same request.

The root cause is a Go net/url representation quirk. When a client sends a "rootless" HTTP/1 request target — one that does not begin with a leading / (a relative or opaque target) — Go's URL parser stores the raw target in URL.Opaque and leaves URL.Path empty. Traefik's rewriteRequestBuilder path then constructs the effective request for internal decision-making by normalizing an empty URL.Path to /. Consequently:

  • Routing evaluation is performed against /.
  • Path sanitization is applied to /.
  • forwardAuth middleware evaluates the authorization decision against /.
  • encodedCharacters handling is evaluated against /.
  • Access logging records the request as /.

Critically, the actual value forwarded to the backend is URL.Opaque, verbatim. The backend may interpret that opaque target as a path (many upstream frameworks and application servers do). The result is a decision/enforcement inconsistency: Traefik's security controls see /, while the backend receives and acts on a different, attacker-controlled target string.

This is a classic parser differential pattern — the same bytes are interpreted differently by two components in the request path (here Traefik's internal normalization vs. the backend's path interpretation). The CWE-444 classification (Inconsistent Interpretation of HTTP Requests, "HTTP Request Smuggling") is therefore appropriate: the two-tier chain desynchronizes on the meaning of the request target.

Security-relevant consequences enumerated in the advisory:

  1. Cross-vhost routing bypass — routing is decided against /, so an attacker can reach routes/hosts they should not, because the actual forwarded target differs from what matched.
  2. Path-scoped authorization bypass — forwardAuth and other path-scoped controls authorize / while the backend executes a different, more sensitive path.
  3. Access-log evasion — logs record /, concealing the true request target from auditing and detection.

No public proof-of-concept, Nuclei template, or exploit code is available. No CVE-specific technical artifact verifies the fix; patch confidence is 0/4 based on tracked sources, though the NVD description states fixed versions.

Exploitation Scenarios

No public PoC is available; the following attack chain is inferred at the vulnerability-class level (HTTP request-target parsing/desync) strictly from the NVD description. No specific endpoints, parameter names, or code symbols beyond those in the description are asserted.

  1. Reconnaissance / target identification. Identify internet-exposed Traefik instances in front of backend applications — for example via Shodan dorks for product:"Traefik" or a Traefik-serving HTTP title. Determine which backends sit behind path-scoped authorization (e.g., forwardAuth-protected admin surfaces) and which perform vhost/path-based routing. Confirm the deployment is in the affected version range (< 2.11.57 for 2.x, < 3.7.13 for 3.x).

  2. Triggering the flaw class. The attacker crafts a raw HTTP/1 request whose request target is "rootless" — i.e., it does not start with / and therefore does not populate URL.Path in Go, landing instead in URL.Opaque. Because the target is attacker-controlled, the attacker chooses a string that the backend will interpret as a sensitive path, while Traefik normalizes the (empty) path to / for its own evaluation.

  3. Payload / execution method (class-level). The attacker sends this crafted request to Traefik's listener. Traefik evaluates routing, path sanitization, forwardAuth, and encodedCharacters against / — passing checks intended for a benign or less-privileged path — and then forwards the verbatim URL.Opaque target to the upstream backend. The backend, interpreting the opaque target as a path, processes the request against the attacker's intended target rather than /. This is the essence of the parser differential: authorization and routing are decided on one interpretation, execution occurs on another.

  4. Post-exploitation impact (class-level).

    • Cross-vhost routing bypass: requests are delivered to backend hosts/routes not authorized by the routing decision.
    • Path-scoped authorization bypass: forwardAuth-protected or path-restricted bindings are reached despite the auth decision having been made against /.
    • Access-log evasion: Traefik logs the request as /, so the true target is absent from ordinary access logs, degrading detection and incident reconstruction.

Note: Achieving each impact depends on the backend interpreting the forwarded opaque target as a path — a backend-dependent precondition, not an unconditional outcome.

Impact Assessment

  • Confidentiality (Low–Moderate): Path-scoped authorization and forwardAuth bypass can expose resources whose access should have been denied.
  • Integrity (Low–Moderate): Attacker-controlled routing could direct requests to unintended upstreams or reach write-capable paths normally guarded by path-scoped checks.
  • Availability (Low): Primarily a logic/authorization flaw; no direct DoS is described.
  • Scope (Unchanged): The flaw affects the proxy/backend chain but, per the description, does not inherently cross into a separate authority.
  • Attack Vector / Complexity: Network-reachable (AV:N), low complexity once the target is identified (AC:L), no privileges or user interaction required (PR:N/UI:N).
  • Blast radius: Any organization running affected Traefik versions as an internet-facing edge proxy in front of a backend that treats opaque request targets as paths. Because Traefik is a common Kubernetes ingress controller and edge router, the potential population is large.
  • Detection gap risk (High): The access-log evasion property means affected traffic may leave no conventional log trace, materially raising the risk that exploitation goes unnoticed without the network/edge detections below.

CVSS is not officially assigned (NVD score N/A); the vector above is an analyst estimate and must not be treated as an authoritative score. EPSS has not been published by FIRST.org at the time of writing.

Detection Guidance

Sigma Rule

title: Traefik Opaque HTTP/1 Request Target (CWE-444) Attempt
id: 8e3f1c2a-7b41-4d9e-a5c6-traefik88009
status: experimental
description: Detects HTTP/1 requests with a request target that does not begin with "/" (rootless/opaque target), the precondition for CVE-2026-88009 in Traefik.
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-88009
author: valtersit.com Threat Intelligence
logsource:
  category: webserver
detection:
  selection_method:
    cs-method:
      - GET
      - POST
      - PUT
      - HEAD
      - OPTIONS
      - DELETE
  selection_no_slash:
    cs-uri|re: '^(?!\/).+'
  filter_scheme_absolute:
    cs-uri|re: '^(?:[a-zA-Z][a-zA-Z0-9+.\-]*:\/\/)'
  condition: selection_method and selection_no_slash and not filter_scheme_absolute
fields:
  - c-ip
  - cs-method
  - cs-uri
  - cs-host
falsepositives:
  - Proxies/health checks that emit absolute-form or non-slash request targets
  - Buggy clients issuing malformed but benign targets
level: high

YARA Rule

rule CVE_2026_88009_Traefik_Opaque_Target
{
    meta:
        author      = "valtersit.com Threat Intelligence"
        description = "Detects HTTP/1 request lines using a rootless/opaque request target associated with CVE-2026-88009 in Traefik"
        reference   = "https://nvd.nist.gov/vuln/detail/CVE-2026-88009"
        cve         = "CVE-2026-88009"
        date        = "2026-01-01"
        severity    = "high"

    strings:
        // Line start: common HTTP methods followed by a space, then a non-slash authority/opaque target (not absolute-form)
        $m1 = /(GET|POST|PUT|HEAD|OPTIONS|DELETE|PATCH|CONNECT|TRACE) (?!\/)(?!https?:\/\/)[^ \r\n]+ HTTP\/1\.[01]/ nocase
        // Also flag when the opaque target references a sensitive-looking path via %2f or $ delimiters
        $u1 = /%2f/i
        $u2 = /%252f/i

    condition:
        any of ($m1) or (any of ($u1, $u2) and 1 of ($m1))
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-88009 Attempt - Traefik Opaque HTTP/1 Request Target"; flow:established,to_server; content:"HTTP/1."; http_header_names; pcre:"/^(GET|POST|PUT|HEAD|OPTIONS|DELETE|PATCH) (?!\/)(?!https?:)[^ \r\n]+ HTTP\/1\.[01]/H"; classtype:attempted-admin; reference:cve,CVE-2026-88009; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-88009; metadata:created_at 2026_01_01, updated_at 2026_01_01, confidence Medium; sid:8800901; rev:1;)

Elastic Detection

// Detects edge/proxy HTTP requests whose request target lacks a leading slash
// (rootless/opaque target) — precondition for CVE-2026-88009 Traefik bypass.
network where
  network.protocol == "http" and
  http.request.method in ("GET","POST","PUT","HEAD","OPTIONS","DELETE","PATCH") and
  http.request.uri != null and
  not http.request.uri like "/*" and
  not http.request.uri like "http*"

Splunk SPL Query

index=proxy OR index=web OR index=traefik sourcetype=access_combined OR sourcetype=traefik
| eval raw_method_uri=_raw
| regex raw_method_uri="(?i)^(GET|POST|PUT|HEAD|OPTIONS|DELETE|PATCH)\s+(?!\\/)(?!https?:\\/\\/)\S+\s+HTTP\\/1\\.[01]"
| table _time, host, src, dest, uri_path, status, useragent
| sort - _time

Wazuh OSSEC Rule

<group name="web,traefik,attack,">
  <rule id="880090" level="12">
    <decoded_as>web-accesslog</decoded_as>
    <field name="url">(?!\/)(?!https?:\/\/)\S+</field>
    <regex type="pcre2">^(GET|POST|PUT|HEAD|OPTIONS|DELETE|PATCH)\s+(?!\/)(?!https?:\/\/)\S+\s+HTTP\/1\.[01]</regex>
    <description>CVE-2026-88009: rootless/opaque HTTP/1 request target against Traefik (parser-differential / routing & auth bypass attempt)</description>
    <mitre>
      <id>T1190</id>
    </mitre>
    <group>cve_2026_88009,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source). The NVD description states the issue is fixed in versions 2.11.57 (2.x) and 3.7.13 (3.x), but no patch artifact, diff, or advisory was verified from a tracked source, and no workaround is provided by the vendor text. Treat the following as interim guidance.

  1. Immediate mitigations (pre-patch):

    • Reject malformed request targets at the edge. Front Traefik with an upstream protection layer (WAF, CDN, or edge LB) that rejects HTTP/1 requests whose request target does not begin with / (and is not a valid absolute-form URI). This directly neutralizes the rootless/opaque precondition.
    • Normalize enforcement vs. forwarding. Where architecturally possible, ensure any component evaluating paths also enforces the same target it forwards — avoid trusting URL.Opaque forwarding semantics against normalized routing/auth decisions.
    • Tighten backend path interpretation. Configure backends to reject or canonicalize opaque/rootless request targets so they cannot be interpreted as sensitive paths.
    • Enable comprehensive request logging that captures raw request lines, not just normalized URL.Path, to close the access-log evasion gap while unpatchable.
    • Restrict exposure: limit internet-facing Traefik where feasible and enforce least-privilege on path-scoped authorization surfaces.
  2. Patch / upgrade steps:

    • Upgrade Traefik 2.x → 2.11.57 or later, and 3.x → 3.7.13 or later, as stated in the NVD description. Verify the upgrade via an independent artifact (release notes, signed container image digest, or vendor commit) because no patch source is currently tracked (confidence 0/4).
    • After upgrade, retest routing, forwardAuth, encodedCharacters, and access logging to confirm the fixed behavior enforces a consistent path across evaluation and forwarding.
  3. Long-term hardening:

    • Adopt parser-consistency review practices across the full request chain (proxy → backend) to catch class-wide (CWE-444) desync issues early.
    • Maintain a front-line WAF/edge rule set that blocks non-slash and ambiguous request targets by default.
    • Monitor Traefik release advisories and subscribe to CVE feeds for this product line.
    • Log and baseline raw request-target values; alert on any non-/, non-absolute targets reaching the proxy.

References

Threat actor / exploit-in-the-wild status: No public PoC, no Nuclei template, no exploit code, and no CISA KEV listing are associated with CVE-2026-88009 as of this report. No named threat-actor campaign has been observed. However, the access-log evasion property creates a detection blind spot; organizations should not assume absence of exploitation merely because proxy access logs look clean. All detection content above is heuristic and should be tuned against production baselines to control false positives.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-88009/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.