module

MySQL yaSSL CertDecoder::GetName Buffer Overflow

Disclosed
01/25/2010
Created
05/30/2018

Description

This module exploits a stack buffer overflow in the yaSSL (1.9.8 and earlier)
implementation bundled with MySQL. By sending a specially crafted
client certificate, an attacker can execute arbitrary code.

This vulnerability is present within the CertDecoder::GetName function inside
"taocrypt/src/asn.cpp". However, the stack buffer that is written to exists
within a parent function's stack frame.

NOTE: This vulnerability requires a non-default configuration. First, the attacker
must be able to pass the host-based authentication. Next, the server must be
configured to listen on an accessible network interface. Lastly, the server
must have been manually configured to use SSL.

The binary from version 5.5.0-m2 was built with /GS and /SafeSEH. During testing
on Windows XP SP3, these protections successfully prevented exploitation.

Testing was also done with mysql on Ubuntu 9.04. Although the vulnerable code is
present, both version 5.5.0-m2 built from source and version 5.0.75 from a binary
package were not exploitable due to the use of the compiler's FORTIFY feature.

Although suse11 was mentioned in the original blog post, the binary package they
provide does not contain yaSSL or support SSL.

Author

jduck

Platform

Linux

Module Options

To display the available options, load the module within the Metasploit console and run the commands ‘show options’ or ‘show advanced’:

    msf > use exploit/linux/mysql/mysql_yassl_getname
    msf /(e) > show actions
        ...actions...
    msf /(e) > set ACTION < action-name >
    msf /(e) > show options
        ...show and set options...
    msf /(e) > run
  
Title
NEW

Explore Exposure Command

Confidently identify and prioritize exposures from endpoint to cloud with full attack surface visibility and threat-aware risk context.