phpBB AJAX Chat/Shoutbox MOD CSRF Vulnerability

25 Jul 2011

Title: phpBB AJAX Chat/Shoutbox MOD CSRF Vulnerability

Release Date: 2011-04-30

Product Affected: http://startrekaccess.com/community/viewtopic.php?f=127&t=8675

Responsible Disclosure:

After repeated attempts to get the vendor to fix this flaw, he has told me to "Please stop taking up my time with something this trivial." I have provided a risk assessment, sources on CSRF including OWASP and my implementation on how to fix it.

If after a reasonable attempt to make the vendor realise it is a vulnerability, the vendor refuses to acknowledge the flaw, the vulnerability will be publicly published.

First vendor contact was made on 2011-04-24 and continued till the 29th where he cut contact.

Discription:

All actions taken on chat.php are not protected against CSRF, this includes add and delete chat messages.

Solution:

This solution carries no warranty or guarantees, that said it works with the version I have.

In config.php
$secretKey = 'CHANGE THIS TO SOMETHING SECURE';

in shout.php
116: 'CHAT_MAC'      => hash_hmac('ripemd160', $user->data['user_id'], $secretKey)

in chat.php
49:
$chatMAC = request_var('mac', ");

56:
if($mode AND $chatMAC != hash_hmac('ripemd160', $user->data['user_id'], $secretKey)) //action taken
{
die('Hacking attempt! (CSRF)');
}

257:  'CHAT_MAC'      => hash_hmac('ripemd160', $user->data['user_id'], $secretKey)

in templates:
after param = 'mode=' + mode;
Add param += '&mac=' + '{CHAT_MAC}';