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,460 results · Feed

  • High 7.5

    Matrix homeserver could redirect the chat session to a local file or network share

    When logging in to a Matrix account, Thunderbird used the homeserver address provided in the server's login response without validating it. A malicious or compromised homeserver could provide a file: URL, causing Thunderbird to send all further Matrix request…

  • Critical 9.1

    Calendar discovery accepted local file and remote network share locations

    When looking for calendars in a directory on a server, during account setup or when adding a new network calendar, Thunderbird accepted calendar locations pointing to other servers, local files or network shares. A malicious server, or a network attacker when…

  • High 7.5

    Umbraco CMS before 17.7.2 and 18.2.2 Account Takeover via Host Header Poisoning

    Umbraco CMS before 17.7.2 and 18.2.2 contains an authentication bypass vulnerability that allows unauthenticated attackers to register attacker-controlled OAuth redirect URIs by poisoning the Host header. Attackers send signed-in users authorization links usi…

  • Low 2.1

    Tornado: Open redirect in RedirectHandler via protocol-relative URLs

    Tornado is a Python web framework and asynchronous networking library. Prior to 6.6, tornado.web.RedirectHandler URL templates can place regex-capture substitutions where crafted request paths change the redirect scheme or network location. Affected placement…

  • Medium 6.1

    nforwardauth: Unvalidated r parameter allows post-authentication open redirect

    nforwardauth is a forward auth service that allows the use of a single authentication middleware for multiple sites. Versions prior to 1.5.1 accept an unvalidated `r` query parameter on the `/login` endpoint and use them as the post-authentication redirect de…

  • Medium 5.4

    An Open Redirect vulnerability exists in the public form submission endpoint (/form/submit) of Mautic. After a form is …

  • Medium 4.3

    gedelumbung HospitalManagement URL Validation routing_pages.php simpan redirect

    A weakness has been identified in gedelumbung HospitalManagement up to c2d45543789a3887067d3915f69d44cfc2cf76a8. This affects the function simpan of the file application/modules/admin/controllers/routing_pages.php of the component URL Validation. This manipul…

  • Low 2.6

    Authlib: is_secure_transport() loopback exemption can be bypassed with a userinfo component, allowing cleartext-HTTP URLs to non-loopback hosts

    Authlib is a Python library which builds OAuth and OpenID Connect servers. From 0.13 until 1.8.0, authlib.common.security.is_secure_transport() uses a textual prefix comparison for loopback HTTP exemptions, so a URL whose userinfo begins with a loopback host …

  • Medium 4.7

    OpenBao before 2.6.3 Open Redirect via OIDC Identity Provider UI

    OpenBao before 2.6.3 contains an open redirect vulnerability in the UI's OIDC identity provider that affects users not authenticated to OpenBao. Attackers can craft OIDC links that redirect unauthenticated users to attacker-controlled destinations, enabling p…

  • Medium 6.5

    Central Authentication System (CAS) Server - Moderately critical - Open redirect - SA-CONTRIB-2026-135

    URL Redirection to Untrusted Site ('Open Redirect') vulnerability in Drupal Central Authentication System (CAS) Server allows Fake the Source of Data. This issue affects Central Authentication System (CAS) Server versions: from 0.0.0 to 2.0.4, from 2.1.0 to 2…

  • Medium 5.4

    SAML SSO - Service Provider - Critical - Open redirect - SA-CONTRIB-2026-143

    URL Redirection to Untrusted Site ('Open Redirect') vulnerability in Drupal SAML SSO - Service Provider allows Fake the Source of Data. This issue affects SAML SSO - Service Provider versions: from 0.0.0 to 3.2.0.

  • High 8.1
    CVE-2026-51954 Public exploit

    An issue in Webasyst Framework 4.0.3 and before allows a remote attacker to execute arbitrary code via a crafted OAuth …

  • Medium 5.4

    Open Redirection via Callback URL in WSO2 API Manager Allows Phishing Attacks

    The callback URL parameter in WSO2 API Manager fails to validate user-supplied input, allowing it to be controlled by malicious actors. Exploitation of this vulnerability could lead to users being redirected to attacker-controlled web pages. This can be used …

  • Medium 4.7

    SvelteKit before 3.0.0 Open Redirect via Enhanced Form Actions

    SvelteKit (@sveltejs/kit) before 3.0.0 contains an open redirect vulnerability in enhanced form actions (use:enhance) on routes accepting paths beginning with a double slash. Attackers can craft action paths starting with // that become protocol-relative URLs…

  • High 8.8

    Vulnerability in the Oracle BI Publisher product of Oracle Analytics (component: BI Platform Security). Supported versi…

  • High 7.8

    Vulnerability in the Oracle Business Intelligence Enterprise Edition product of Oracle Analytics (component: Analytics …

  • Medium 4.7

    Vulnerability in the Oracle BI Publisher product of Oracle Analytics (component: Web Server). Supported versions that a…

  • Medium 5.4

    Vulnerability in the JD Edwards EnterpriseOne Tools product of Oracle JD Edwards (component: E1 Dev Platform Tech - UNI…

  • Medium 4.3

    Vulnerability in the Siebel CRM End User product of Oracle Siebel CRM (component: Open UI). Supported versions that are…

  • High 7.8

    Vulnerability in the JD Edwards EnterpriseOne Tools product of Oracle JD Edwards (component: Deployment SEC). Supported…

  • Medium 6.5

    Vulnerability in the Oracle JDeveloper product of Oracle Fusion Middleware (component: Security Framework). Supported v…

  • High 8.8

    Vulnerability in the JD Edwards EnterpriseOne Tools product of Oracle JD Edwards (component: Enterprise Infrastructure …

  • Medium 6.5

    Vulnerability in the Oracle Applications Framework product of Oracle E-Business Suite (component: Security). Supported …

  • Medium 5.9

    Vulnerability in the Siebel Apps - Marketing product of Oracle Siebel CRM (component: Email Marketing). Supported versi…

  • Medium 4.3

    Optimal IdM OptimalCloud social redirect

    A flaw has been found in Optimal IdM OptimalCloud 5.0. This vulnerability affects unknown code of the file /v5.0/social. Executing a manipulation of the argument state can lead to open redirect. The attack can be executed remotely. The vendor was contacted ea…

  • Medium 4.3

    antoinersx clawhost Reverse Proxy reverseProxy.ts handleRequest redirect

    A vulnerability was detected in antoinersx clawhost up to 0.0.45. This affects the function handleRequest of the file apps/clawhostgo/src/main/services/reverseProxy.ts of the component Reverse Proxy. Performing a manipulation of the argument token results in …

  • Medium 4.3

    diem-project diem Sign-In BasedmUserActions.class.php redirect

    A vulnerability was determined in diem-project diem up to 116974edfb9a5b8bd69cb13586dc62bcdbb485ad. This affects an unknown part of the file dmCorePlugin/plugins/dmUserPlugin/modules/dmUser/lib/BasedmUserActions.class.php of the component Sign-In. This manipu…

  • Medium 4.3

    aircheng-org iWebShop-5 Login Redirect _userInfo.php redirect

    A weakness has been identified in aircheng-org iWebShop-5 up to 5.16. The impacted element is the function IController::redirect of the file plugins/_userInfo/_userInfo.php of the component Login Redirect. This manipulation of the argument callback causes ope…

  • Medium 5.4

    Otter Blocks < 3.2.3 - Unauthenticated Open Redirect via Stripe Checkout Block

    The Otter Blocks WordPress plugin before 3.2.3 does not validate that a user-supplied return URL belongs to the site before using it to build the return destination of a Stripe Checkout session, allowing unauthenticated attackers to redirect victims who compl…

  • Medium 4.3

    Coder 2.0.0 before 2.34.8 Open Redirect via Workspace App Proxy

    Coder from 2.0.0 before 2.34.8 contains an open redirect vulnerability in handleAPIKeySmuggling that allows attackers to redirect users externally via unsanitized r.URL.Path values. Attackers can craft links on trusted workspace app subdomains with paths begi…

  • Medium 4.3

    Coder 2.3.1 before 2.16.1 Open Redirect via Login Page redirect Parameter

    Coder 2.3.1 before 2.14.4, 2.15.x before 2.15.3, and 2.16.0 before 2.16.1 contains an open redirect vulnerability in the login page because the redirect query parameter is improperly sanitized. Attackers can craft a Coder login URL that, when clicked by a log…

  • Medium 4.3

    Patreon WordPress < 1.10.0 - Open Redirect via 'state' Parameter

    The Patreon WordPress plugin before 1.10.0 does not validate a user-supplied redirect destination before redirecting, allowing unauthenticated attackers to redirect visitors to an arbitrary external URL through a crafted link, which is useful for phishing.

  • Medium 6.8

    smart-sso through 2.1.1 OAuth2 Authorization Code Theft via Unvalidated redirectUri

    smart-sso through 2.1.1 contains an open redirect vulnerability in the /login handler that allows unauthenticated attackers to steal OAuth2 authorization codes by supplying an unvalidated redirectUri parameter. Attackers can send crafted /login links to users…

  • High 8.6

    Open redirect and XSS via reset_url parameter

    Improper validation of the reset_url parameter of the Setup in-page search in Checkmk <2.5.0p15, <2.4.0p38, <2.3.0p51 and 2.2.0 (EOL) allows an attacker to execute arbitrary script in the session of an authenticated user with Setup access, or to redirect that…

  • Medium 4.8

    Nezha 2.1.0 before 2.3.15 Host Header Injection via MCP Transfer Tools

    Nezha from 2.1.0 before 2.3.15 contains a host header injection vulnerability in mintTransferTool that builds fs.download_url and fs.upload_url transfer URLs from the unvalidated Host header. Attackers who control the Host header seen on a victim's MCP reques…

  • Medium 5.4

    Scoold: Open Redirect in getBackToUrl() allows phishing via domain-prefix startsWith bypass

    Scoold is a Q&A and a knowledge sharing platform for teams. Prior to 1.69.1, the getBackToUrl() method in src/main/java/com/erudika/scoold/utils/HttpUtils.java validates the backto and returnto parameters with Strings.CI.startsWith against the configured serv…

  • High 7.5

    In the Eclipse Adoptium website (adoptium.net), in every deployment built from commit 0b24ea1 (2025-06-18) up to the fi…

  • Medium 4.3

    "Handmade Marketplace App - Creema" provided by CREEMA LTD. contains an open redirect vulnerability. When accessing a s…

  • Medium 5.3

    Gogs: Open Redirect in /redirect endpoint via backslash bypass in `IsSameSite`

    Gogs is an open source self-hosted Git service. Prior to 0.15.0+dev, an unauthenticated attacker can provide a backslash-containing target to the /redirect endpoint, and similar post-action redirect flows are also affected. internal/urlx/urlx.go IsSameSite va…

  • Medium 6.1

    Improper Validation of Post-Login Redirect URL in nextjs-auth0

    The auth0/nextjs-auth0 SDK validates that the returnTo parameter is a same-origin URL. The SDK then stores this value and, in a later step, reconstructs it for the post-authentication redirect. The reconstruction logic can produce a URL that browsers interpre…