CVE-2026-41263: Traefik: BasicAuth middleware: timing side-channel vulnerability

Published Apr 24, 2026
·
Updated

## Summary There is a timing side-channel vulnerability in Traefik's BasicAuth middleware that allows an attacker to enumerate valid usernames through response-time differences. The variable intended to hold a constant-time fallback secret always resolves to an empty string, causing the constant-time comparison to short-circuit in microseconds rather than performing a full bcrypt evaluation. This restores the original timing oracle and makes it possible to distinguish existing users from non-existing ones by measuring authentication response times. ## Patches - https://github.com/traefik/traefik/releases/tag/v2.11.43 - https://github.com/traefik/traefik/releases/tag/v3.6.14 - https://github.com/traefik/traefik/releases/tag/v3.7.0-rc.2 ## For more information If there are any questions or comments about this advisory, please [open an issue](https://github.com/traefik/traefik/issues). <details> <summary>Original Description</summary> # BasicAuth Timing Regression: CVE-2026-32595 Fix Is a No-Op Due to Map Key/Value Confusion ## TL;DR The patch for CVE-2026-32595 is a no-op. Line 49 of `basic_auth.go` has a map key/value confusion that makes `notFoundSecret` always `""`. The "constant time" fallback calls `goauth.CheckSecret(password, "")`, which fast-fails in ~1us instead of running bcrypt (~60ms). ## Evidence (HEAD `786f7192e`, 2026-04-09) Black-box PoC against live traefik binary on port 28080: | bucket | n | median | min | |------------------------------|-----|----------|----------| | existing user (wrong pw) | 240 | 62.85 ms | 57.54 ms | | nonexistent user (wrong pw) | 400 | 0.48 ms | 0.35 ms | Median ratio: **130.4x**. Classification: **8/8 correct**. Go in-tree test: `goauth.CheckSecret` direct ratio **12,746x**. ## Root cause (4-step trace) 1. `basic_auth.go:49`: `users[slices.Collect(maps.Values(users))[0]]` -- looks up a hash as a username key, returns `""`. 2. `basic_auth.go:119-120`: calls `goauth.CheckSecret(password, "")`. 3. `go-http-auth/basic.go:87`: empty string matches no prefix, falls to default `compareMD5HashAndPassword`. 4. `basic.go:107-109`: `bytes.SplitN("", "$", 4)` returns length 1, function returns instantly. ## Files - `poc/exploit.py` -- black-box Python timing oracle - `poc/basic_auth_timing_regression_test.go` -- Go in-tree test - `poc/traefik.yml` + `poc/dynamic.yml` -- traefik config - `poc/live_http_poc_output_head.txt` -- verbatim PoC output on HEAD Koda Reef </details> ---

Affected Software

10 affected componentsFixes available
go/github.com/traefik/traefik<=1.7.34
go/github.com/traefik/traefik/v2<2.11.43
2.11.43
go/github.com/traefik/traefik/v3>=3.0.0-beta1<3.6.14
3.6.14
go/github.com/traefik/traefik/v3>=3.7.0-ea.1<3.7.0-rc.2
3.7.0-rc.2
Traefik traefik<2.11.43
Traefik traefik>=3.0.0<3.6.14
Traefik traefik=3.7.0-ea1
Traefik traefik=3.7.0-ea2
Traefik traefik=3.7.0-ea3
Traefik traefik=3.7.0-rc1

Event History

Apr 24, 2026
Advisory Published
via GitHub·08:36 PM
Data Sourced
via GitHub·08:36 PM
DescriptionWeaknessAffected Software
Apr 30, 2026
CVE Published
via MITRE·08:39 PM
Data Sourced
via MITRE·08:39 PM
DescriptionWeakness
Data Sourced
via NVD·09:16 PM
RemedyDescriptionSeverityWeaknessAffected Software
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-41263?

CVE-2026-41263 is classified as a high-severity timing side-channel vulnerability.

2

How does CVE-2026-41263 affect Traefik's BasicAuth middleware?

CVE-2026-41263 allows attackers to enumerate valid usernames through response-time discrepancies due to an empty string fallback secret.

3

How do I fix CVE-2026-41263?

To mitigate CVE-2026-41263, upgrade to Traefik versions 2.11.43, 3.6.14, or 3.7.0-rc.2 or higher.

4

Which versions of Traefik are affected by CVE-2026-41263?

CVE-2026-41263 affects Traefik versions up to 1.7.34 and versions of 2.x up to, but not including, 2.11.43.

5

What type of attack does CVE-2026-41263 enable?

CVE-2026-41263 enables username enumeration attacks due to timing discrepancies in response times.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203