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

194 results · Clear filters · Feed

  • High 8.1

    After downloading a Windows <code>.url</code> shortcut from the local filesystem, an attacker could supply a remote pat…

  • High 7.1

    Devices using Snap One OvrC cloud are sent to a web address when accessing a web management interface using a HTTP conn…

  • High 8.2

    An open redirect to malicious sites affects HCL Leap

    An open redirect to malicious sites can occur when accessing the "Feedback" action on the manager page.

  • High 8.8

    An attacker can change the content of an SAP Commerce - versions 1905, 2005, 2105, 2011, 2205, login page through a man…

  • High 7.2

    oauth2-server through 3.1.1 vulnerable to Open Redirect

    In oauth2-server (aka node-oauth2-server) through 3.1.1, the value of the redirect_uri parameter received during the authorization and token request is checked against an incorrect URI pattern ("[a-zA-Z][a-zA-Z0-9+.-]+:") before making a redirection. This all…

  • High 7.1

    URL Redirection to Untrusted Site ('Open Redirect') in bookwyrm

    BookWyrm is a social network for tracking your reading, talking about books, writing reviews, and discovering what to read next. Some links in BookWyrm may be vulnerable to tabnabbing, a form of phishing that gives attackers an opportunity to redirect a user …

  • High 7.1

    URL Redirection to Untrusted Site in Dspace JSPUI

    DSpace open source software is a repository application which provides durable access to digital resources. dspace-jspui is a UI component for DSpace. The JSPUI controlled vocabulary servlet is vulnerable to an open redirect attack, where an attacker can craf…

  • High 7.1

    Open Redirect in open-forms

    Open Forms is an application for creating and publishing smart forms. Prior to versions 1.0.9 and 1.1.1, the cookie consent page in Open Forms contains an open redirect by injecting a `referer` querystring parameter and failing to validate the value. A malici…

  • High 7.5

    Open Redirect in express-openid-connect

    Express OpenID Connect is an Express JS middleware implementing sign on for Express web apps using OpenID Connect. Users of the `requiresAuth` middleware, either directly or through the default `authRequired` option, are vulnerable to an Open Redirect when th…

  • High 7.2
    CVE-2022-1058 Scanner template EPSS 53%

    Open Redirect on login in go-gitea/gitea

    Open Redirect on login in GitHub repository go-gitea/gitea prior to 1.16.5.

  • High 7.3

    Server-Side Request Forgery (SSRF) and URL Redirection to Untrusted Site ('Open Redirect') in alltube

    alltube is an html front end for youtube-dl. On releases prior to 3.0.3, an attacker could craft a special HTML page to trigger either an open redirect attack or a Server-Side Request Forgery attack (depending on how AllTube is configured). The impact is miti…

  • High 8.0

    Open Redirect in medialize/uri.js

    Open Redirect in GitHub repository medialize/uri.js prior to 1.19.10.

  • High 8.8

    Exposure of Sensitive Information to an Unauthorized Actor in node-fetch/node-fetch

    node-fetch is vulnerable to Exposure of Sensitive Information to an Unauthorized Actor

  • High 7.3

    Open Redirect in openwhyd/openwhyd

    openwhyd is vulnerable to URL Redirection to Untrusted Site

  • High 8.8

    DOS and Open Redirect with user input

    A redirect vulnerability in the `fastify-static` module version >= 4.2.4 and < 4.4.1 allows remote attackers to redirect Mozilla Firefox users to arbitrary websites via a double slash `//` followed by a domain: `http://localhost:3000//a//youtube.com/%2e%2e%2f…

  • High 7.6

    Open Redirect

    This affects the package clearance before 2.5.0. The vulnerability can be possible when users are able to set the value of session[:return_to]. If the value used for return_to contains multiple leading slashes (/////example.com) the user ends up being redirec…

  • High 7.2

    URL Redirection to Untrusted Site ('Open Redirect') in Flask-AppBuilder

    Flask-AppBuilder is an application development framework, built on top of Flask. In affected versions if using Flask-AppBuilder OAuth, an attacker can share a carefully crafted URL with a trusted domain for an application built with Flask-AppBuilder, this URL…

  • High 8.2

    AppStore Remote Download and Installation Vulnerability

    The appstore before 8.12.0.0 exposes some of its components, and the attacker can cause remote download and install apps through carefully constructed parameters.

  • High 7.4

    Open redirect in pollbot

    Pollbot is open source software which "frees its human masters from the toilsome task of polling for the state of things during the Firefox release process." In Pollbot before version 1.4.4 there is an open redirection vulnerability in the path of "https://po…

  • High —

    Update bitlyshortener to >=0.5.0 to prevent generating some invalid short URLs

    ### Impact Due to a sudden upstream breaking change by Bitly, versions of `bitlyshortener` <0.5.0 can generate an invalid short URL when a vanity domain exists. ### Patches Upgrading `bitlyshortener` to 0.5.0 or newer will prevent the generation of any such i…

  • High 7.5

    Open Redirect in Liferay Portal

    The redirect module in Liferay Portal before 7.3.3 does not limit the number of URLs resulting in a 404 error that is recorded, which allows remote attackers to perform a denial of service attack by making repeated requests for pages that do not exist.

  • High 7.6

    Concourse Open Redirect in the /sky/login endpoint

    Pivotal Concourse, most versions prior to 6.0.0, allows redirects to untrusted websites in its login flow. A remote unauthenticated attacker could convince a user to click on a link using the OAuth redirect link with an untrusted website and gain access to th…

  • High 7.1

    Open Redirect in OAuth2 Proxy

    In OAuth2 Proxy before 5.1.1, there is an open redirect vulnerability. Users can provide a redirect address for the proxy to send the authenticated user to at the end of the authentication flow. This is expected to be the original URL that the user was trying…

  • High —

    Open Redirect in ecstatic

    Versions of `ecstatic` prior to 4.1.2, 3.3.2 or 2.2.2 are vulnerable to Open Redirect. The package fails to validate redirects, allowing attackers to craft requests that result in an `HTTP 301` redirect to any other domains. ## Recommendation If using `ecstat…

  • High 8.8

    Open Redirect in httpie

    All versions of the HTTPie package prior to version 1.0.3 are vulnerable to Open Redirect that allows an attacker to write an arbitrary file with supplied filename and content to the current directory, by redirecting a request from HTTP to a crafted URL point…

  • High 8.7

    UAA redirect-uri allows wildcard in the subdomain

    Cloud Foundry UAA Release, versions prior to 71.0, allows clients to be configured with an insecure redirect uri. Given a UAA client was configured with a wildcard in the redirect uri's subdomain, a remote malicious unauthenticated user can craft a phishing l…

  • High 7.6

    Pivotal Concourse allows malicious redirect urls on login

    Pivotal Concourse Release, versions 4.x prior to 4.2.2, login flow allows redirects to untrusted websites. A remote unauthenticated attacker could convince a user to click on a link using the oAuth redirect link with an untrusted website and gain access to th…

  • High 8.8

    Open redirect in ASP.NET Core

    ASP.NET Core 2.0 allows an attacker to steal log-in session information such as cookies or authentication tokens via a specially crafted URL aka "ASP.NET Core Elevation Of Privilege Vulnerability".

  • High 7.4

    flask-oidc Open Redirect vulnerability

    flask-oidc version 0.1.2 and earlier is vulnerable to an open redirect

  • High 8.1
    CVE-2016-5385 EPSS 50%

    HTTP Proxy header vulnerability

    PHP through 7.0.8 does not attempt to address RFC 3875 section 4.1.18 namespace conflicts and therefore does not protect applications from the presence of untrusted client data in the HTTP_PROXY environment variable, which might allow remote attackers to redi…

  • High 7.4

    Jenkins affected by Open Redirect Vulnerability

    Multiple open redirect vulnerabilities in Jenkins before 2.3 and LTS before 1.651.2 allow remote attackers to redirect users to arbitrary web sites and conduct phishing attacks via unspecified vectors related to "scheme-relative" URLs.

  • High 7.4

    Drupal Open redirect vulnerability in the drupal_goto function

    Open redirect vulnerability in the drupal_goto function in Drupal 6.x before 6.38, when used with PHP before 5.4.7, allows remote attackers to redirect users to arbitrary web sites and conduct phishing attacks via a double-encoded URL in the "destination" par…

  • High 7.5
    CVE-2013-4200 Public exploit

    Plone Open Redirection vulnerability via next parameter

    The isURLInPortal method in the URLTool class in in_portal.py in Plone 2.1 through 4.1, 4.2.x through 4.2.5, and 4.3.x through 4.3.1 treats URLs starting with a space as a relative URL, which allows remote attackers to bypass the allow_external_login_sites fi…

  • High 7.5

    Drupal has open redirect vulnerability in the Overlay module

    Open redirect vulnerability in the Overlay module in Drupal 7.x before 7.24 allows remote attackers to redirect users to arbitrary web sites and conduct phishing attacks via unspecified vectors.