Secunia Research: RunCMS Multiple SQL Injection Vulnerabilities

======================================================================

                     Secunia Research 30/03/2011

          - RunCMS Multiple SQL Injection Vulnerabilities -

======================================================================
Table of Contents

Affected Software...................................................1
Severity............................................................2
Vendor's Description of Software....................................3
Description of Vulnerability........................................4
Solution............................................................5
Time Table..........................................................6
Credits.............................................................7
References..........................................................8
About Secunia.......................................................9
Verification.......................................................10

======================================================================
1) Affected Software 

* RunCMS version 2.2.2

NOTE: Other versions may also be affected.

======================================================================
2) Severity 

Rating: Less Critical
Impact: Manipulation of data
Where:  From remote

======================================================================
3) Vendor's Description of Software 

"Reliable - Unique - Nocost"

Product Link:
http://www.runcms.org/

======================================================================
4) Description of Vulnerability

Secunia Research has discovered multiple vulnerabilities in RunCMS, 
which can be exploited by malicious users to conduct SQL injection 
attacks.

1) Input passed via the "topic_id" parameter to modules/forum/post.php
(when "forum", "pid", and "is_reply" are set) is not properly 
sanitised before being used in SQL queries. This can be exploited to 
manipulate SQL queries by injecting arbitrary SQL code.

Sucessful exploitation of this vulnerability reqires that the "Forum" 
module is enabled and "Can Reply" permissions.

2) Input passed via the "forum" parameter to modules/forum/search.php 
(when "term" and "addtemrms" are set) is not properly sanitised before 
being used in SQL queries. This can be exploited to maipulate SQL 
queries by injecting arbitrary SQL code.

3) Input passed via the "forum" parameter to modules/forum/post.php 
(when "message" and "post_id" are set) is not properly sanitised in 
the "is_moderator()" function in modules/forum/functions.php before 
being used in SQL queries. This can be exploited to manipulate SQL 
queries by injecting arbitrary SQL code.

Sucessful exploitation of this vulnerability requires permissions to 
post in a forum.

4) Input passed e.g. via the "FORumLastVisit" cookie parameter to 
modules/forum/index.php is not properly sanitised in the 
"getNewTopics()" function in modules/forum/class/class.forumtable.php 
before being used in SQL queries. This can be exploited to manipulate 
SQL queries by injecting arbitrary SQL code.

5) Input passed via the "sort" and "by" parameters to e.g. 
modules/pm/index.php and modules/pm/pmsend.php is not properly 
sanitised in the "getAllPM()" function in modules/pm/class/pm.class.php 
before being used in SQL queries. This can be exploited to manipulate 
SQL queries by injecting arbitrary SQL code.

Sucessful exploitation of this vulnerability requires "Module Access" 
rights for "Private Pm".

6) Input passed via the "bid" parameter to modules/banners/index.php 
(when "op" is set to "click") is not properly sanitised before being 
used in SQL queries. This can be exploited to manipulate SQL queries 
by injecting arbitrary SQL code.

Successful exploitation of this vulnerability requires that the
"Banners" module is enabled and requires permissions to access the 
module.

7) Input passed via the "bid" and "cid" parameters to 
modules/banners/index.php (when "op" is set to "EmailStats" or 
"Change") is not properly sanitised before being used in SQL queries. 
This can be exploited to manipulate SQL queries by injecting 
arbitrary SQL code.

Successful exploitation of this vulnerability requires that the 
"Banners" module is enabled and requires permissions to access the 
module.

8) Input passed via the "url" parameter to modules/banners/index.php 
(when "op" is set to "Change" and "bid" and "cid" are set) is not 
properly sanitised before being used in SQL queries. This can be 
exploited to manipulate SQL queries by injecting arbitrary SQL code.

Successful exploitation of this vulnerability requires that the 
"Banners" module is enabled, requires permissions to access the module, 
and requires that "magic_quotes_gpc" is disabled.

9) Input passed via the "orderby" parameter to modules/links/viewcat.php
(when the "cid" parameter is set) is not properly sanitised before 
being used in SQL queries. This can be exploited to manipulate SQL 
queries by injecting arbitrary SQL code.

Successful exploitation of this vulnerability requires "Module Access" 
rights for "Links" module.

10) Input passed e.g. via the "key" parameter to 
modules/galleri/carte.php (when the "op" is set to "actv") is not 
properly sanitised in the "countAllMail()" function in 
modules/galleri/class/gall_mail.php before being used SQL queries. 
This can be exploited to manipulate SQL queries by injecting arbitrary 
SQL code.

Successful exploitation of this vulnerability requires "Module Access" 
rights for "Galleri" module.

11) Input passed via e.g. the "orderby" parameter to 
modules/galleri/index.php (when "op" is set to "top_ten") is not 
properly sanitised in the "getAllImg()" in modules/galleri/class/
gall_img.php before being used in SQL queries. This can be exploited 
to manipulate SQL queries by injecting arbitrary SQL code.

Successful exploitation of this vulnerability requires that the 
Galleri module is enabled and permissions to access the module.

======================================================================
5) Solution 

A fix is not currently available.

======================================================================
6) Time Table

15/03/2011 - Vendor notified.
24/03/2011 - Vendor notified (2nd attempt).
30/03/2011 - Public disclosure.

======================================================================
7) Credits 

Discovered by Secunia Research.

======================================================================
8) References

The Common Vulnerabilities and Exposures (CVE) project has not 
currently assigned a CVE identifier for the vulnerabilities.

======================================================================
9) About Secunia

Secunia offers vulnerability management solutions to corporate
customers with verified and reliable vulnerability intelligence
relevant to their specific system configuration:

http://secunia.com/advisories/business_solutions/

Secunia also provides a publicly accessible and comprehensive advisory
database as a service to the security community and private 
individuals, who are interested in or concerned about IT-security.

http://secunia.com/advisories/

Secunia believes that it is important to support the community and to
do active vulnerability research in order to aid improving the 
security and reliability of software in general:

http://secunia.com/secunia_research/

Secunia regularly hires new skilled team members. Check the URL below
to see currently vacant positions:

http://secunia.com/corporate/jobs/

Secunia offers a FREE mailing list called Secunia Security Advisories:

http://secunia.com/advisories/mailing_lists/

======================================================================
10) Verification 

Please verify this advisory by visiting the Secunia website:
http://secunia.com/secunia_research/2011-28/

Complete list of vulnerability reports published by Secunia Research:
http://secunia.com/secunia_research/

=====================================================================