TUCoPS :: Web :: PHP :: c07-2295.htm

phpMyVisites multi vulns
Multiple vulnerabilities in phpMyVisites
Multiple vulnerabilities in phpMyVisites




	Multiple vulnerabilities in phpMyVisites


Application : phpMyVisites prior to 2.2 stable
Release Date : 11 February 2007
Author : Nicob 

Abstract :
=========
Several vulnerabilities were identified in phpMyVisites. This software
is "a free and powerful open source (GNU/GPL) software for websites
statistics and audience measurements" : http://www.phpmyvisites.net/ 

Impacted versions :
==================
Versions 2.2 stable (released on November 10, 2006) and newer are not
impacted by these vulnerabilities.

Notes :
======
- only one PHP file (phpmyvisites.php) need to be remotely accessed by
visitors. A paranoid installation will allow remote access only to this
file (for example via htaccess). So my brief code audit focused on this
very file.

- external libraries (smarty, phpMailer, PEAR, ...) are embedded in any
phpMyVisites install. Some vulnerabilities in these libraries were
patched in version 2.2 stable too.

Vulnerabilities :
================
- "HTTP Response Splitting" via the "url" parameter (triggered when the
"pagename" parameter begins by "FILE:")

- "Cross Site Scripting" in function GetCurrentCompletePath() :

http://your_site/your_dir/phpmyvistes.php/AAA/BB/CCC 

- "Local file include" via the "pmv_ck_view" cookie parameter. Part of
this cookie is used to construct a file path, which is then used in a
require() call :

        if( !isset($this->file)
               || !strpos( $this->file, 'utf-8.php')
               || strpos( $this->file, '..') )
        {
                $this->file = $this->getNearestLang();
        }
        require LANGS_PATH . "/" . $this->file; 

In this code, the third check is "FALSE" if the strpos() call returns
"FALSE" _or_ "0". So "../../../../../tmp/utf-8.php" would be accepted.


Nicob


TUCoPS is optimized to look best in Firefox® on a widescreen monitor (1440x900 or better).
Site design & layout copyright © 1986-2024 AOH