Are you looking to have your application properly secured by an experienced professional? Contact us today for a free private consultation. We specialize in web application security, mobile security, and also offer general consultation services. Click here for more information regarding all of our security services.
Advanced Electron Forum Remote Code Execution
Vendor: Electron, Inc.
Product: Advanced Electron Forum
Version: <= 1.0.6
Website: http://www.anelectron.com/
BID: 31268
CVE: CVE-2008-5090
OSVDB: 48414
SECUNIA: 31978
PACKETSTORM: 70149
Description:
Advanced Electron Forum also known as AEF Forum is a full featured online forum system written in php that allows webmasters and site owners to host their own discussion forums within their website. The Advanced Electron Forum software comes bundled with the popular MKPortal package, but is also available as a free stand alone forum. Unfortunately there are multiple remote code execution issues within AEF that allow for an attacker to execute arbitrary php code with privileges of the affected webserver. This is due to the improper handling of evaluated bbcode within AEF Forum. Users should upgrade their forums as soon as possible.


Remote Code Execution
There is a serious security issue within AEF Forums that allows for forum users to easily execute arbitrary php code on the affected webserver. This issue is due to AEF Forums sending wildcard matches to the replacement parameter of preg_replace function, within double quotes, while the eval switch is present. Below is one of the many examples of the security issues within the bbcode handling of AEF.

//Email Links
if($globals['bbc_email']){

	$text = preg_replace(
				array("/\[email=(.*?)\](.*?)\[\/email\]/ies",
						"/\[email\](.*?)\[\/email\]/ies"),
				array('check_email("$1", "$2")',
						'check_email("$1", "$1")'), $text);

}


As we can see from the above code, a wildcard match is used to gather the matches sent to replacement parameter for evaluation. This is bad because an attacker can use complex variable syntax within an [email] tag (other tags are also vulnerable) and have it executed as php code.

[email]{${phpinfo()}}[/email]

If the above bb code was posted to a vulnerable AEF Forum then the php within the tags would be executed. In this case the php code is simply a phpinfo() call, but of course, other attacks are possible.


Solution:
Thanks to Jim Haslip for his help with communicating this issue to developers. Users should upgrade as soon as possible.


Credits:
James Bercegay of the GulfTech Security Research Team