Advisory: Oracle Siebel CRM — Persistent Cross Site Scripting by Insecure File Upload (CVE-2019–2857)
# Exploit Title: Oracle Siebel CRM — Persistent Cross Site Scripting by Insecure File Upload
# Date: 17 July 2019
# Exploit Author: Sarath Nair
# Vendor Homepage: www.oracle.com
# Software Link: https://www.oracle.com/applications/siebel/
# Version: Oracle Siebel CRM (UI Framework) Version 19.0 and prior
# CVE-2019–2857
# PoC Exploit: Persistent Cross Site Scripting by Insecure File Upload
— — — — — — — — — — — — — — — — — — — — — — — — — —
#Vulnerable URL: http://<Siebel_Application>/finsadm_enu/start.swe?SWECmd=GotoView&SWEView=Activity+Attachment+View
#Steps to exploit the issue:
1. Login to the CRM application and navigate to ‘Activities’ and click on ‘All Activities’.
2. Edit one of the existing activity, or create a new one.
3. Use the ‘New File’ menu in ‘attachments’ section to upload an accepted file type.
4. Intercept the traffic and change the ‘Content-Type:’ HTTP header from “Content-Type: image/jpeg” to “Content-Type: text/html” and upload an HTML file with JavaScript payload.
5. JavaScript payload will be triggered/rendered upon the victim user views the attached file.
# Description: The Siebel CRM application allows its users to upload any file types through their file upload functionality. The uploaded file can be viewed by another users with the appropriate privileges as part of the workflow. As such, it was possible to upload file with the “html” extension, (containing html and JavaScript code) thereby allowing a Persistent Cross Site Scripting attack.
# Impact: Cross-Site Scripting attacks do not target the server but rather its users. An attacker could force other users to unknowingly execute malicious code saved on the server with XSS payload as part of the business process work flow. The impacts of such attack can range from disclosure of the users’ sensitive information to execution of arbitrary code on the target users’ system.
# Solution: Apply the Oracle Siebel CRM patch released on 16 July 2019
########################################
# Vulnerability Disclosure Timeline:
2017-December-23: Discovered vulnerability
2017-December-25: Vendor Notification
2017-December-27: Vendor Response/Feedback
2019-July-16: Vendor Fix/Patch
2019-July-17: Public Disclosure
########################################