Skip to content

fix(deps): update rust crate actix-web-lab to 0.26.0 [security]#298

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/crate-actix-web-lab-vulnerability
Open

fix(deps): update rust crate actix-web-lab to 0.26.0 [security]#298
renovate[bot] wants to merge 1 commit intomainfrom
renovate/crate-actix-web-lab-vulnerability

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Mar 11, 2026

This PR contains the following updates:

Package Type Update Change
actix-web-lab dependencies minor 0.20.10.26.0

GitHub Vulnerability Alerts

GHSA-vhj5-x93p-67jw

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():

  1. 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}")
  2. actix-web-lab/src/redirect_to_www.rs (around lines 30-35)

    • format!("{scheme}://www.{host}{path}")
  3. 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-lab middleware
  • 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.


Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@vercel
Copy link

vercel bot commented Mar 11, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
homecooked Building Building Preview, Comment Mar 11, 2026 3:02am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants