Rapid7 Vulnerability & Exploit Database

MySQL yaSSL CertDecoder::GetName Buffer Overflow

Back to Search

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(s)

  • jduck <jduck@metasploit.com>

Platform

Linux

Development

References

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 exploit(mysql_yassl_getname) > show targets
    ...targets...
msf exploit(mysql_yassl_getname) > set TARGET < target-id >
msf exploit(mysql_yassl_getname) > show options
    ...show and set options...
msf exploit(mysql_yassl_getname) > exploit

Time is precious, so I don’t want to do something manually that I can automate. Leveraging the Metasploit Framework when automating any task keeps us from having to re-create the wheel as we can use the existing libraries and focus our efforts where it matters.

– Jim O’Gorman | President, Offensive Security

;