Last week, security researcher Amir Etemadieh (aka Zenoflex) disclosed that vBulletin’s patch for CVE-2019-16759 (an unauthenticated remote code execution vulnerability) was incomplete. That CVE was exploited in the wild, for example, the Comodo Forums that exposed the data of 245,000 Users or the botnet activity targeting vulnerable vBulletin sites. This new vulnerability was given the identifier CVE-2020-7373. vBulletin is a very popular software forum. According to the BuildWith website, vBulletin tops the Forum Software Usage Distribution in the Top 1 Million Sites:
Figure 1. Forum Software Usage according to BuiltWith website
The vulnerability allows unauthenticated attackers to inject PHP code via widget configuration parameters. In the following screenshot we can see successful exploitation of this vulnerability:
Figure 2. Injection of PHP code to create a new header via CVE-2020-7373
The previous example is a non-intrusive exploitation of the vulnerability, anyhow attackers may call PHP functions in order to execute code in the webserver, delete files, or other malicious activities. It’s important to mention that there are several public exploits for this vulnerability, making it trivial to exploit. A full writeup of the vulnerability was disclosed, along with PoC and a workaround, by the original researcher and can be found at: https://blog.exploitee.rs/2020/exploiting-vbulletin-a-tale-of-patch-fail/
A few hours after the bypass was released there was evidence of exploitation. An example of that was the famous Hacker Conference DEFCON’s forum as stated by Jeff Moss (@thedarktangent):
Figure 3. Public exploitation of CVE-2020-7373 in forum.defcon.org
There was almost a 24-hour windows between the disclosure of the vulnerability, along with the Proof of Concept and workaround, and the official patch by vBulletn.
In case patching is not possible, a workaround is to disable the PHP widgets within the forum. The steps to do so are:
- Go to the vBulletin administrator control panel.
- Click “Settings” in the menu on the left, then “Options” in the dropdown.
- Choose “General Settings” and then click “Edit Settings”
- Look for “Disable PHP, Static HTML, and Ad Module rendering”, Set to “Yes”
- Click “Save”
Please keep in mind this workaround may break some functionality but it will keep you safe from attacks until the patch is applied.
vBulletin issued a Security Patch that should be applied in the affected web applications as soon as possible. vBulletin says they will remove the vulnerable module (PHP Module) entirely in version 5.6.4. Finally, we want to mention that we have updated TrustKeeper scan engine to detect vulnerable instances of vBulletin.