Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 23 Mar 2011 23:10:12 +0800
From: YGN Ethical Hacker Group <>
Subject: CVE Request: PHP-Nuke 8.x <= Cross Site Request Forgery (CSRF) /
 Anti-CSRF Bypass Vulnerability

PHP-Nuke 8.x  <= Cross Site Request Forgery (CSRF) / Anti-CSRF Bypass


The PHP-Nuke version 8.x and lower versions are vulnerable to Cross
Site Request Forgery (CSRF) because its Anti-CSRF mechanism (Referer
Check) is found to be broken.


PHP-Nuke is a Web Portal System or content management system. The goal
of PHP-Nuke is to have an automated web site to distribute news and
articles with users system. Each user can submit comments to discuss
the articles. Main features include: web based admin, surveys, top
page, access stats page with counter, user customizable box, themes
manager for registered users, friendly administration GUI with graphic
topic manager, option to edit or delete stories, option to delete
comments, moderation system, Referrers page to know who link us,
sections manager, customizable HTML blocks, user and authors edit, an
integrated Banners Ads system, search engine, backend/headlines
generation (RSS/RDF format), and many, many more friendly functions.


The PHP-Nuke version 8.x and lower versions contain a flaw that allows
a remote Cross-site Request Forgery (CSRF / XSRF) attack. The flaw
exists because the application does not require multiple steps or
explicit confirmation for sensitive transactions for majority of
administrator functions such as adding new user, assigning user to
administrative privilege. By using a crafted URL, an attacker may
trick the victim into visiting to his web page to take advantage of
the trust relationship between the authenticated victim and the
application. Such an attack could trick the victim into executing
arbitrary commands in the context of their session with the
application, without further prompting or verification.


8.0 and lower

Tested version: 8.0
The paid versions, 8.1 and 9.0, of PHP-Nuke may be vulnerable as well.


Consider the following code snippet in /mainfile.php of PHP-Nuke:


109             if(!function_exists('stripos')) {
                       function stripos_clone($haystack, $needle, $offset=0) {
                               $return = strpos(strtoupper($haystack),
strtoupper($needle), $offset);
                               if ($return === false) {
                                       return false;
                               } else {
                                       return true;
               } else {
                       // But when this is PHP5, we use the original function
                       function stripos_clone($haystack, $needle, $offset=0) {
                               $return = stripos($haystack, $needle, $offset=0);
                               if ($return === false) {
                                       return false;
                               } else {
                                       return true;
128             }


206             // Posting from other servers in not allowed
207             // Fix by Quake
208             // Bug found by PeNdEjO

210             if ($_SERVER['REQUEST_METHOD'] == "POST") {
                       if (isset($_SERVER['HTTP_REFERER'])) {
212                             if
(!stripos_clone($_SERVER['HTTP_REFERER'], $_SERVER['HTTP_HOST'])) {
                                       die('Posting from another
server not allowed!');
                       } else {

It is clear that stripos_clone checks HTTP_REFERER value whether it
matches the target domain or not.
Attacker can easily bypass it by creating victim domain name under his
web root folder like:

>From there, he could effectively perform CSRF attacks against php-Nuke users.

A short P0C demo video can be seen at


Not Available.
Use of this product is NOT recommended because of long lack of update
and vendor negligence about security reports.


PHP-Nuke Developers


Aung Khant,, YGN Ethical Hacker Group, Myanmar.


2011-01-01: contacted author through emails
2011-01-25: contacted author through web site contact form
2010-03-23: no replies from author
2010-03-23: vulnerability disclosed


Original Advisory URL:[phpnuke-8.x]_cross_site_request_forgery
CSRF Wiki:
About PHP-Nuke:
PHP-Nuke 8.0:

#yehg [2010-03-23]

keywords: php nuke, php-nuke, phpnuke, 8.0, 8.1, csrf

Best regards,
YGN Ethical Hacker Group
Yangon, Myanmar
Our Lab |
Our Directory |

Powered by blists - more mailing lists

Please check out the Open Source Software Security Wiki, which is counterpart to this mailing list.

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.