module
MySQL yaSSL CertDecoder::GetName Buffer Overflow
Disclosed | Created |
---|---|
01/25/2010 | 05/30/2018 |
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.
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
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 /(e) > show actions ...actions... msf /(e) > set ACTION < action-name > msf /(e) > show options ...show and set options... msf /(e) > run

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