Skip to content
OpenAdvisories

Weakness (CWE)

CWE-601: URL Redirection to Untrusted Site

Base Draft

The web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a redirect.

How to prevent it (6 mitigations)
  1. Implementation

    Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.

    When performing input validation, consider all potentially relevant properties, including length, type of input, the full range of acceptable values, missing or extra inputs, syntax, consistency across related fields, and conformance to business rules. As an example of business rule logic, "boat" may be syntactically valid because it only contains alphanumeric characters, but it is not valid if the input is only expected to contain colors such as "red" or "blue."

    Do not rely exclusively on looking for malicious or malformed inputs. This is likely to miss at least one undesirable input, especially if the code's environment changes. This can give attackers enough room to bypass the intended validation. However, denylists can be useful for detecting potential attacks or determining which inputs are so malformed that they should be rejected outright.

    Use a list of approved URLs or domains to be used for redirection.

  2. Architecture and Design

    Use an intermediate disclaimer page that provides the user with a clear warning that they are leaving the current site. Implement a long timeout before the redirect occurs, or force the user to click on the link. Be careful to avoid XSS problems (CWE-79) when generating the disclaimer page.

  3. Architecture and Design

    When the set of acceptable objects, such as filenames or URLs, is limited or known, create a mapping from a set of fixed input values (such as numeric IDs) to the actual filenames or URLs, and reject all other inputs.

    For example, ID 1 could map to "/login.asp" and ID 2 could map to "http://www.example.com/". Features such as the ESAPI AccessReferenceMap [REF-45] provide this capability.

  4. Architecture and Design

    Ensure that no externally-supplied requests are honored by requiring that all redirect requests include a unique nonce generated by the application [REF-483]. Be sure that the nonce is not predictable (CWE-330).

  5. Architecture and Design, Implementation

    Understand all the potential areas where untrusted inputs can enter your software: parameters or arguments, cookies, anything read from the network, environment variables, reverse DNS lookups, query results, request headers, URL components, e-mail, files, filenames, databases, and any external systems that provide data to the application. Remember that such inputs may be obtained indirectly through API calls.

    Many open redirect problems occur because the programmer assumed that certain inputs could not be modified, such as cookies and hidden form fields.

  6. Operation

    Use an application firewall that can detect attacks against this weakness. It can be beneficial in cases in which the code cannot be fixed (because it is controlled by a third party), as an emergency prevention measure while more comprehensive software assurance measures are applied, or to provide defense in depth [REF-1481].

Source: MITRE CWE-601

1,068 results · Clear filters · Feed

  • Medium 6.1

    Adobe Experience Manager | URL Redirection to Untrusted Site ('Open Redirect') (CWE-601)

    Adobe Experience Manager versions 6.5.24, LTS SP1, 2026.04 and earlier are affected by an Improper Redirect (Open Redirect) vulnerability that could result in a Security feature bypass. An attacker could construct a malicious URL that redirects a victim to an…

  • Medium 4.8

    SolarWinds Observability Self-Hosted Open Redirect Vulnerability

    A vulnerability in which an attacker can provide a crafted external URL that may redirect a user to an unintended website.

  • Medium 5.3

    TYPO3 CMS - Open Redirect in Core Utilities

    Applications that use GeneralUtility::sanitizeLocalUrl to allow only local URLs are vulnerable to open redirect attacks if the URL is used after it has passed the aforementioned sanitization checks. This enables attackers to redirect users to external content…

  • Medium 4.2

    Spring Framework Open Redirect in Spring MVC and WebFlux

    A Spring MVC or Spring WebFlux application which configures a mapping for "/**" where the view name is not explicitly specified allows an attacker to craft a link resulting in a 302 redirect to an arbitrary external host via the redirect: prefix. Affected ver…

  • Medium 4.3

    hs-web hsweb-framework OAuth2 Client OAuth2Client.java OAuth2Client redirect

    A vulnerability was detected in hs-web hsweb-framework up to 5.0.1. This affects the function OAuth2Client of the file hsweb-authorization/hsweb-authorization-oauth2/src/main/java/org/hswebframework/web/oauth2/server/OAuth2Client.java of the component OAuth2 …

  • Medium 6.1

    HCL Digital Experience and HCL Digital Experience Compose could be susceptible to Host header injection

    HCL Digital Experience and HCL Digital Experience Compose could be susceptible to Host header injection.  An attacker can manipulate the Host header and cause the application to behave in unexpected ways.

  • Medium 5.1

    MISP post-login open redirect via pre_login_requested_url

    An open redirect vulnerability existed in MISP UsersController::routeafterlogin() because the value stored in the pre_login_requested_url session key was used as the post-login redirect destination without sufficiently enforcing that it was a local applicatio…

  • Medium 5.1

    Open redirect in MISP dashboard button widget URL handling

    A URL validation flaw in the MISP dashboard button widget allowed a crafted relative-looking URL to be accepted as a local path while being interpreted by browsers as an external URL. The validation rejected URLs containing an explicit scheme, host, or user c…

  • Medium 4.8

    FOSSBilling has an open redirect via administrator-configured redirect targets

    FOSSBilling is a free, open-source billing and client management system. Prior to version 0.8.0, the Redirect module does not validate the URL scheme of administrator-configured destination URLs before storing or issuing redirects. This allows arbitrary exter…

  • Medium 6.9

    authentik: WS-Federation wreply origin bypass can exfiltrate signed login responses to attacker-controlled endpoints

    authentik is an open-source identity provider. Prior to version 2026.2.3, the WS-Federation provider validates the user-supplied wreply parameter using a raw string prefix check rather than proper URL parsing. An attacker who can craft a login link can supply…

  • Medium 6.6

    React Router's same-origin redirect with path starting // causes open redirect via protocol-relative URL reinterpretation

    React Router is a router for React. In versions 7.0.0 through 7.14.0 and 6.7.0 through 6.30.3, certain URLs passed to the redirect function can trigger an open redirect to an external domain due to path values starting with // being reinterpreted as protocol-…

  • Medium 6.1

    Speakr: Open redirect in is_safe_url via parser mismatch on next parameter

    Speakr is a personal, self-hosted web application designed for transcribing audio recordings. Prior to 0.8.20-alpha, the is_safe_url() helper used to validate post-login redirect targets applied urljoin(request.host_url, target) before parsing, while the cont…

  • Medium 6.1

    Authlib: Open Redirect in Authlib OIDC Implicit/Hybrid Authorization

    Authlib is a Python library which builds OAuth and OpenID Connect servers. Prior to 1.6.12 and 1.7.1, an unauthenticated open redirect in Authlib's OpenIDImplicitGrant and OpenIDHybridGrant authorization endpoint lets a remote attacker cause the authorization…

  • Medium 5.4

    WeGIA: Middleware whitelist bypass → open redirect via InternoControle.nextPage

    WeGIA is a web manager for charitable institutions. Prior to 3.7.3, an Open Redirect vulnerability was identified in the /WeGIA/controle/control.php endpoint of the WeGIA application, specifically through the nextPage parameter when combined with metodo=lista…

  • Medium 4.7

    WordPress Facebook for WooCommerce plugin <= 3.7.0 - Open Redirection vulnerability

    URL Redirection to Untrusted Site ('Open Redirect') vulnerability in Facebook Facebook for WooCommerce allows Phishing. This issue affects Facebook for WooCommerce: from n/a through 3.7.0.

  • Medium 4.3

    Jenkins Bitbucket OAuth Plugin does not restrict the redirect URL after login

    Jenkins Bitbucket OAuth Plugin 0.17 and earlier does not restrict the redirect URL after login, allowing attackers to perform phishing attacks.

  • Medium 5.9

    Snipe-IT: Open redirect vulnerability

    Snipe-IT is an IT asset/license management system. Prior to 8.4.1, an open redirect vulnerability in Snipe-IT allows attackers to redirect users to malicious sites via unvalidated HTTP Referer header stored in session variable. This vulnerability is fixed in …

  • Medium 5.1

    Apache Shiro Jakarta EE module: Open redirect and SSRF (requires valid credentials)

    With valid login credentials, URL Redirection to Untrusted Site ('Open Redirect'), Server-Side Request Forgery (SSRF) vulnerability in Apache Shiro. This issue affects Apache Shiro from 2.0-alpha to 2.1.0, and 3.0.0-alpha-1, only when using shiro-jakarta-ee i…

  • Medium 6.0

    HTTP/3 redirect handler leaks Authorization and Cookie headers to cross-origin redirect target in hackney

    Sensitive Data Exposure vulnerability in benoitc hackney allows Retrieve Embedded Sensitive Data. The HTTP/3 redirect handler in src/hackney_h3.erl passes the original request headers unchanged to the redirect target without performing any cross-origin check.…

  • Medium 6.1

    Devise: Open Redirect via Unvalidated `request.referrer` in Timeoutable Session Timeout Handler

    Devise is an authentication solution for Rails based on Warden. In versions 5.0.3 and below, when the Timeoutable module is enabled in Devise, the FailureApp#redirect_url method returns request.referrer — the HTTP Referer header, which is attacker-controllabl…

  • Medium 5.0

    Improper input validation in the external authentication provider flow in Devolutions Server allows an unauthenticated …

  • Medium 6.1

    Dell PowerFlex Manager, versions 4.6.2 and prior, contains an Open Redirect Vulnerability. An unauthenticated attacker …

  • Medium 4.7

    SimpleSAMLphp-casserver has an Open Redirect vulnerability via logout

    SimpleSAMLphp-casserver is a CAS 1.0 and 2.0 compliant CAS server in the form of a SimpleSAMLphp module. In versions below 6.3.1 and 7.0.0, the logout endpoint accepts a url query parameter to redirect to. casserver treats that url as trusted, and either (dep…

  • Medium 6.1

    Magento LTS: Open Redirect via Unvalidated `uenc` Parameter in `stockAction()` - magento-lts

    Magento Long Term Support (LTS) is an unofficial, community-driven project provides an alternative to the Magento Community Edition e-commerce platform with a high level of backward compatibility. Prior to 20.18.0, Mage_ProductAlert_AddController::stockAction…

  • Medium 5.7

    Docling-Graph: SSRF via Missing Internal IP Validation in URLInputHandler

    Docling-Graph turns documents into validated Pydantic objects, then builds a directed knowledge graph with explicit semantic relationships. Prior to 1.5.1, the URLInputHandler class in docling_graph/core/input/handlers.py makes HTTP requests to user-supplied …

  • Medium 4.3

    ntopng - CWE-601: URL Redirection to Untrusted Site ('Open Redirect')

    CWE-601 URL redirection to untrusted site ('open redirect')

  • Medium 6.9

    Angular SSR: Open Redirect and Request Steering via Encoded X-Forwarded-Prefix

    The Angular SSR is a server-rise rendering tool for Angular applications. From 19.0.0-next.0 to before 19.2.25, 20.3.25, 21.2.9, and 22.0.0-next.7, a vulnerability exists in the X-Forwarded-Prefix header processing logic within Angular SSR. The internal valid…

  • Medium 5.3

    Nitro: Open Redirect via Protocol-Relative URL Bypass in Wildcard Route Rules

    Nitro is a next generation server toolkit. Prior to 3.0.260429-beta, an attacker could turn a redirect route rule using wildcards rewrite into a cross-host redirect by sliding an extra slash in after the rule prefix. This vulnerability is fixed in 3.0.260429-…

  • Medium 4.8

    Horilla: Open Redirect via Unvalidated `next` Parameter in Notification Endpoints

    Horilla is an HR and CRM software. In 1.5.0, the notification endpoints trust the unvalidated next parameter and redirect users to arbitrary external URLs. This allows an attacker to turn trusted application links into phishing or social-engineering redirects.

  • Medium 4.3

    @workos/authkit-session: Open Redirect via state-derived redirect target

    @workos/authkit-session is a toolkit for building WorkOS AuthKit framework integrations. Prior to 0.5.1, an open redirect vulnerability exists in AuthService.handleCallback due to insufficient validation of the returnPathname value derived from the OAuth stat…

  • Medium 5.1

    Kargo: Open Redirect in UI OIDC Login Flow via redirectTo Query Parameter

    Kargo manages and automates the promotion of software artifacts. Prior to versions 1.7.10, 1.8.13, 1.9.8, and 1.10.2, Kargo is vulnerable to open redirect in UI OIDC login flow via the redirectTo query parameter. This issue has been patched in versions 1.7.10…

  • Medium 5.3

    Multiple vulnerabilities in Cradle e-commerce

    Open redirection vulnerability in the latest demo version of the Cradle eCommerce platform. The vulnerability occurs in the login form endpoint, where the ‘returnUrl’ parameter allows redirection because the web application accepts a URL as a parameter withou…

  • Medium 5.1

    Saltcorn: Open Redirect in `POST /auth/login` due to incomplete `is_relative_url` validation (backslash bypass)

    Saltcorn is an extensible, open source, no-code database application builder. Prior to versions 1.4.6, 1.5.6, and 1.6.0-beta.5, Saltcorn validates the post-login dest parameter with a string check that only blocks :/ and //. Because all WHATWG-compliant brows…

  • Medium 5.3

    Masa CMS open redirect via improper handling of scheme-relative URLs

    Masa CMS is affected by an Open Redirect vulnerability due to improper handling of scheme-relative URLs. The application incorrectly interprets paths beginning with double slashes (//) as internal paths, failing to validate the redirect target before processi…

  • Medium 6.3

    jupyter_server next parameter open redirect can redirect users to external domains

    Jupyter Server is the backend for Jupyter web applications. In jupyter_server versions through 2.17.0, the next query parameter in the login flow is insufficiently validated in `LoginFormHandler._redirect_safe()`, which allows redirects to arbitrary external …

  • Medium 5.1

    n8n: Open Redirect in MCP OAuth Consent Flow

    n8n is an open source workflow automation platform. Prior to versions 1.123.32, 2.17.4, and 2.18.1, the /mcp-oauth/register endpoint accepted OAuth client registrations without authentication, allowing arbitrary redirect_uri values to be registered. When a us…

  • Medium 4.7

    Open redirect vulnerability exists in Multiple laser printers and MFPs which implement Ricoh Web Image Monitor. When ac…

  • Medium 4.3

    Jenkins Microsoft Entra ID (previously Azure AD) Plugin has an open redirect vulnerability

    Jenkins Microsoft Entra ID (previously Azure AD) Plugin 666.v6060de32f87d and earlier does not restrict the redirect URL after login, allowing attackers to perform phishing attacks.

  • Medium 4.3

    An open redirect in the /api/google/authorize endpoint of hunvreus DevPush v0.3.2 allows attackers to redirect users to…

  • Medium 4.3

    BigBlueButton has Open Redirect through bigbluebutton/api/join via get-parameter "logoutURL"

    BigBlueButton is an open-source virtual classroom. Versions prior to 3.0.24 have an Open Redirect through bigbluebutton/api/join via get-parameter "logoutURL." Version 3.0.24 has adjusted the handling of requests with incorrect checksum so that the default lo…