CVE-2020-4409 - URL Redirection to Untrusted Site ('Open Redirect')

Severity

82%

Complexity

27%

Confidentiality

78%

IBM Maximo Asset Management 7.6.0 and 7.6.1 could allow a remote attacker to conduct phishing attacks, using a tabnabbing attack. By persuading a victim to visit a specially-crafted Web site, a remote attacker could exploit this vulnerability to redirect a user to a malicious Web site that would appear to be trusted. This could allow the attacker to obtain highly sensitive information or conduct further attacks against the victim. IBM X-Force ID: 179537.

CVSS 3.1 Base Score 8.2. CVSS Attack Vector: network. CVSS Attack Complexity: low. CVSS Vector: (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:L/A:N).

CVSS 2.0 Base Score 5.8. CVSS Attack Vector: network. CVSS Attack Complexity: medium. CVSS Vector: (AV:N/AC:M/Au:N/C:P/I:P/A:N).

Demo Examples

URL Redirection to Untrusted Site ('Open Redirect')

CWE-601

The following code obtains a URL from the query string and then redirects the user to that URL.


               
header("Location: " . $redirect_url);

The problem with the above code is that an attacker could use this page as part of a phishing scam by redirecting users to a malicious site. For example, assume the above code is in the file example.php. An attacker could supply a user with the following link:


               
http://example.com/example.php?url=http://malicious.example.com

The user sees the link pointing to the original trusted site (example.com) and does not realize the redirection that could take place.

URL Redirection to Untrusted Site ('Open Redirect')

CWE-601

The following code is a Java servlet that will receive a GET request with a url parameter in the request to redirect the browser to the address specified in the url parameter. The servlet will retrieve the url parameter value from the request and send a response to redirect the browser to the url address.


               
}
}
}
response.sendRedirect(url);

The problem with this Java servlet code is that an attacker could use the RedirectServlet as part of a e-mail phishing scam to redirect users to a malicious site. An attacker could send an HTML formatted e-mail directing the user to log into their account by including in the e-mail the following link:


               
<a href="http://bank.example.com/redirect?url=http://attacker.example.net">Click here to log in</a>

The user may assume that the link is safe since the URL starts with their trusted bank, bank.example.com. However, the user will then be redirected to the attacker's web site (attacker.example.net) which the attacker may have made to appear very similar to bank.example.com. The user may then unwittingly enter credentials into the attacker's web page and compromise their bank account. A Java servlet should never redirect a user to a URL without verifying that the redirect address is a trusted site.

Overview

Type

IBM

First reported 3 years ago

2020-09-16 16:15:00

Last updated 3 years ago

2020-09-28 18:42:00

Affected Software

IBM Control Desk 7.6.1

7.6.1

IBM Control Desk 7.6.1.1

7.6.1.1

IBM Maximo For Aviation 7.6.6

7.6.6

IBM Maximo For Aviation 7.6.7

7.6.7

IBM Maximo For Aviation 7.6.8

7.6.8

IBM Maximo for Life Sciences 7.6

7.6

IBM Maximo For Nuclear Power 7.6.1

7.6.1

IBM Maximo for Oil and Gas 7.6.1

7.6.1

IBM Maximo For Transportation 7.6.2.3

7.6.2.3

IBM Maximo For Transportation 7.6.2.4

7.6.2.4

IBM Maximo For Transportation 7.6.2.5

7.6.2.5

IBM Maximo For Utilities 7.6.0.1

7.6.0.1

IBM Maximo For Utilities 7.6.0.2

7.6.0.2

Stay updated

ExploitPedia is constantly evolving. Sign up to receive a notification when we release additional functionality.

Get in touch

If you'd like to report a bug or have any suggestions for improvements then please do get in touch with us using this form. We will get back to you as soon as we can.