Ethical Hacking Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package. | Computer Forensics Training at InfoSec Institute Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors. |

| Subject: | [UNIX] GBD UPX File Handling Buffer Overflow Vulnerability |
|---|---|
| Date: | 3 Jun 2007 18:31:59 +0200 |
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 - - - - - - - - - GBD UPX File Handling Buffer Overflow Vulnerability ------------------------------------------------------------------------ SUMMARY A vulnerability has been reported in GDB, which possible exploited by malicious people to compromise a vulnerable system. DETAILS Vulnerable Systems: * gdb version 6.6 The vulnerability is caused due to a boundary error in coffread.c when unpacking executable files compressed with UPX. This can be exploited to cause a buffer overflow and potentially allows arbitrary code execution via a specially-crafted UPX packed file. The vulnerability has been reported in versions 6.6 till the lastest CVS. Crashing GDB: $ file gdbupx gdbupx: MS-DOS executable PE for MS Windows (console) Intel 80386 32-bit, UPX compressed $ upx -d gdbupx Ultimate Packer for eXecutables Copyright (C) 1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006 UPX 2.02 Markus Oberhumer, Laszlo Molnar & John Reiser Aug 13th 2006 File size Ratio Format Name upx: gdbupx: CantUnpackException: exe header corrupte.e Unpacked 0 files. $ gdb -v GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as i686-pc-linux-gnu . $ gdb gdbtest/bin/gdb GNU gdb 6.6 Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as i686-pc-linux-gnu Using host libthread_db library /lib/libthread_db.so.1 . Really redefine built-in command frame ? (y or n) [answered Y; input not from terminal] Really redefine built-in command thread ? (y or n) [answered Y; input not from terminal] Really redefine built-in command start ? (y or n) [answered Y; input not from terminal] gdb>r gdbupx GNU gdb 6.6.50.20070531-cvs Copyright (C) 2007 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type show copying to see the conditions. There is absolutely no warranty for GDB. Type show warranty for details. This GDB was configured as i686-pc-linux-gnu Program received signal SIGSEGV, Segmentation fault. _______________________________________________________________________________ eax:08334F70 ebx:00000000 ecx:08337168 edx:082C3240 eflags:00210246 esi:0833D320 edi:0833D34C esp:BF8E54D0 ebp:BF8E54F8 eip:0814CD82 cs:0073 ds:007B es:007B fs:0000 gs:0033 ss:007B o d I t s Z a P c [007B:BF8E54D0] [stack] BF8E5500 : 80 02 00 00 00 00 00 00 - FC 01 00 00 00 00 00 00 . BF8E54F0 : 30 00 00 00 F0 55 8E BF - 38 56 8E BF 50 D7 14 08 0 .U..8V..P BF8E54E0 : 68 71 33 08 F4 BD 2E 08 - F0 55 8E BF 00 00 00 00 hq3 U BF8E54D0 : 31 2D 25 08 FF FF FF FF - F8 54 8E BF 7D C0 14 08 1-% T..} [007B:0833D320] [ data] 0833D320 : 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 . 0833D330 : 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 . [0073:0814CD82] [ code] 0 814cd82 : movzx eax,BYTE PTR [ebx] 0 814cd85 : cmp al,BYTE PTR [edx+24] 0 814cd88 : mov BYTE PTR [esi+12],0 1 0 814cd8c : mov DWORD PTR [esp+12],ecx 0 814cd90 : sete al 0 814cd93 : movzx eax,al 0 0814cd82 in process_coff_symbol (cs=0xbf8e55f0, aux=0 82ebdf4, objfile=0 8337168) at coffread.c:1482 1482 name = EXTERNAL_NAME (name, objfile->obfd); gdb>bt #0 0 0814cd82 in process_coff_symbol (cs=0xbf8e55f0, aux=0 82ebdf4, objfile=0 8337168) at coffread.c:1482 #1 0 0814d750 in coff_symfile_read (objfile=0 8337168, mainline=0 1) at coffread.c:1084 #2 0 08108ff3 in syms_from_objfile (objfile=0 8337168, addrs=0 833e280, offsets=0 0, num_offsets=0 0, mainline=0 1, verbo=0 0) at symfile.c:876 #3 0 081093de in symbol_file_add_with_addrs_or_offsets (abfd=0 8334f70, from_tty=0 0, addrs=0 0, offsets=0 0, num_offsets=0 0, mainline=0 1, flags=0 0) at symfile.c:988 #4 0 0810a265 in symbol_file_add_main_1 (args=0 8334f70 \001 , from_tty=0 82c3240, flags=) at symfile.c:1121 #5 0 08121b92 in catch_command_errors (command=0 810a3f0 , arg=0xbf8e72ad ../../gdbupx , from_tty=0 0, mask=0 6) at exceptions.c:530 #6 0 0807eb38 in captured_main (data=0xbf8e58f4) at .././gdb/main.c:728 #7 0 08121c2b in catch_errors (func=0 807e1e0 , func_args=0xbf8e58f4, errstring=0 8252d31 , mask=0 6) at exceptions.c:515 #8 0 0807e193 in gdb_main (args=0xbf8e58f4) at .././gdb/main.c:881 #9 0 0807e155 in main (argc=0 0, argv=0 8332df0) at gdb.c:35 ADDITIONAL INFORMATION The information has been provided by KaiJern, Lau. (xwingssecuritynetmy). The original article can be found at: <http://blog.xwings.net/?p=71> http://blog.xwings.net/?p=71 ======================================== 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@securiteam.com In order to subscribe to the mailing list, simply forward this email to: list-subscribe@securiteam.com ==================== ==================== 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.
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [UNIX] PHP chunk_split() Integer Overflow, SecuriTeam |
|---|---|
| Next by Date: | [EXPL] UltraISO Local Buffer Overflow (Exploit), SecuriTeam |
| Previous by Thread: | [UNIX] PHP chunk_split() Integer Overflow, SecuriTeam |
| Next by Thread: | [EXPL] UltraISO Local Buffer Overflow (Exploit), SecuriTeam |
| Indexes: | [Date] [Thread] [Top] [All Lists] |