[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

CSRF Vulnerability in MicroStrategy Web application



#####################################
Title: Cross-Site Request Forgery (CSRF) Vulnerability in MicroStrategy Web 
application allows modifying user's preferences.
Author: Wissam Bashour
Vendor: MicroStrategy
Product: MicroStrategy Web
Version: All versions below 10.4.0026.0049
Tested Version: Version 10.4.0026.0049
Severity: HIGH
CVE Reference: CVE-2018-18696

# About the Product:
MicroStrategy provides software solutions and expert services that empower 
every individual with actionable intelligence, helping enterprises unleash the 
full potential of their people and investments.
Web is a browser-independent web interface providing query, reporting, and 
analysis functionality. Using this intuitive web solution, users can execute, 
access, analyze, and share reports and dashboards. Web also allows users to 
access MicroStrategy applications through a Microsoft Office interface. This 
product also includes Web SDK functionality, which allows organizations to 
customize their web interface. All Web licenses also include a complimentary 
license to the Desktop product

# Description:
The application is vulnerable to Cross-Site Request Forgery (CSRF). It is an 
attack that forces an end user to execute unwanted actions on a web application 
in which they're currently authenticated. CSRF attacks specifically target 
state-changing requests, not theft of data, since the
attacker has no way to see the response to the forged request.
An attacker may trick the users of the web application into executing actions 
of the attacker's choosing. If the victim is a normal user, a successful CSRF 
attack can force the user to perform state changing requests like transferring 
changing their email address, or any personal preferences.
An attacker could trick the users of the Microstrategy application into 
clicking on a link that will change the victim's personal information or 
perform unwanted action on the application.

# Vulnerability Class:
Cross-Site Request Forgery (CSRF) - 
https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)

# How to Reproduce: (POC):
Host the attached code in a webserver. Then send the link to the application 
user. The user should be logged in when he clicks on the link.
You can entice him to do that by using social engineering techniques.
i.e. Log into the application and click the following link to get free licenses

# Disclosure:
Discovered: October 9, 2018
Vendor Notification: October 9, 2018
Advisory Publication: December 2, 2018
Public Disclosure: December 2, 2018

# Solution:
Follow the instructions in the below article on how to append a dynamic token 
to each request.
https://community.microstrategy.com/s/article/KB37643-New-security-feature-introduced-in-MicroStrategy-Web-9-0


# credits:
Wissam Bashour
Senior Cyber Security Consultant

# Proof of Concept Code:
https://raw.githubusercontent.com/Siros96/MicroStrategy_CSRF/master/PoC

#References:
[1] https://community.microstrategy.com/
[2] https://www.microstrategy.com/
[3] https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)
[4] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ - 
international in scope and free for public use, CVE® is a dictionary of 
publicly known information security vulnerabilities and exposures.