Skip to content

fix: prevent open redirect via redirect query parameter - #165

Merged
m0bilesecurity merged 1 commit into
m0bilesecurity:masterfrom
tranquac:fix/open-redirect
Jul 1, 2026
Merged

fix: prevent open redirect via redirect query parameter#165
m0bilesecurity merged 1 commit into
m0bilesecurity:masterfrom
tranquac:fix/open-redirect

Conversation

@tranquac

Copy link
Copy Markdown
Contributor

Summary

Prevent open redirect by validating the redirect query parameter before redirecting.

Problem

The redirect handler passes the user-supplied redirect query parameter directly to res.redirect without validation:

redirect_url = req.query.redirect
return res.redirect(redirect_url);

An attacker can redirect users to malicious external sites:

http://rms-server:5000/endpoint?redirect=https://evil.com/phish

Fix

Validate that the redirect URL is a relative path by rejecting URLs starting with // or containing ://:

if (!redirect_url || redirect_url.startsWith('//') || redirect_url.includes('://')) {
    redirect_url = '/';
}

Impact

  • Type: Open Redirect (CWE-601)
  • Risk: Phishing via trusted domain redirect
  • OWASP: A01:2021 — Broken Access Control

Signed-off-by: tranquac <tranquac@users.noreply.github.com>
@m0bilesecurity
m0bilesecurity merged commit 961e1a3 into m0bilesecurity:master Jul 1, 2026
2 checks passed
@m0bilesecurity

Copy link
Copy Markdown
Owner

✅merged this all into the 1.5.25 release!
Many thanks
Paolo

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.

2 participants