[Pidgin] #15521: ASLR Always On Crashes Pidgin
Pidgin
trac at pidgin.im
Sun Feb 17 12:46:18 EST 2013
#15521: ASLR Always On Crashes Pidgin
--------------------+---------------------------------
Reporter: Lloth | Owner: rekkanoryo
Type: defect | Status: new
Milestone: | Component: unclassified
Version: 2.10.7 | Keywords: aslr, emet,windows8
--------------------+---------------------------------
Pidgin Version: 2.10.7
OS version: Windows 8 x64
When opening pidgin:
The application was unable to start correctly (0xC00000142), click Ok to
Close the application
Crash error code in eventlog:
Exception code: 0xc0000005
Fault offset: 0x97560000
Did a bit of debugging and I suspect it's related to the new patch
introducing additional exploit hardening.
I have EMET 3.5 (tech preview). Turning down ASLR from "Always on" to
"Application opt in" resolves the issue, and allows pidgin to start.
Debugging a bit further in the code it looks like one of the addresses is
statically linked:
The crash occurs in libssp-0
CPU Disasm
Address Hex dump Command
Comments
000211EC |> \B8 00005697 MOV EAX,97560000 ; It
looks like jump location is set statically
000211F1 |. EB A7 JMP SHORT 0002119A
....
0002119A |> /85C0 TEST EAX,EAX
0002119C |. |74 11 JZ SHORT 000211AF
0002119E |. |C74424 04 209 MOV DWORD PTR SS:[LOCAL.5],OFFSET 000290
000211A6 |. |C70424 808402 MOV DWORD PTR SS:[LOCAL.6],OFFSET 000284
000211AD |. |FFD0 CALL EAX
; EAX is 97560000 , which then jumps to invalid location
Because this crashes before the application fully loads, no crash dumps
are created by pidgin itself.
Just want to say I commend you guys for putting in ASLR/DEP to the most
recent build, it's moving in the right direction. There is a bit more
that can be done however. Currently other libraries are not built with
ASLR:
http://icebuddha.com/slopfinder.htm
Current libraries without ASLR/DEP
/Pidgin/libsilc-1-1-2.dll
/Pidgin/libsilcclient-1-1-3.dll
/Pidgin/libssp-0.dll ; I suspect it's crashing because libssp-0.dll is
not compiled to use ASLR.
/Pidgin/libxml2-2.dll
/Pidgin/exchndl.dll
/Pidgin/libmeanwhile-1.dll
/Pidgin/spellcheck/libenchant.dll
/Pidgin/spellcheck/libgtkspell-0.dll
/Pidgin/Gtk/bin/libgio-2.0-0.dll
/Pidgin/Gtk/bin/freetype6.dll
/Pidgin/Gtk/bin/gspawn-win32-helper-console.exe
/Pidgin/Gtk/bin/gspawn-win32-helper.exe
/Pidgin/Gtk/bin/gtk-query-immodules-2.0.exe
/Pidgin/Gtk/bin/intl.dll
/Pidgin/Gtk/bin/libatk-1.0-0.dll
/Pidgin/Gtk/bin/libcairo-2.dll
/Pidgin/Gtk/bin/libexpat-1.dll
/Pidgin/Gtk/bin/libfontconfig-1.dll
/Pidgin/Gtk/bin/libgailutil-18.dll
/Pidgin/Gtk/bin/libgdk-win32-2.0-0.dll
/Pidgin/Gtk/bin/libgdk_pixbuf-2.0-0.dll
/Pidgin/Gtk/bin/gdk-pixbuf-query-loaders.exe
/Pidgin/Gtk/bin/libglib-2.0-0.dll
/Pidgin/Gtk/bin/libgmodule-2.0-0.dll
/Pidgin/Gtk/bin/libgobject-2.0-0.dll
/Pidgin/Gtk/bin/libgthread-2.0-0.dll
/Pidgin/Gtk/bin/libgtk-win32-2.0-0.dll
/Pidgin/Gtk/bin/libpango-1.0-0.dll
/Pidgin/Gtk/bin/libpangocairo-1.0-0.dll
/Pidgin/Gtk/bin/libpangoft2-1.0-0.dll
/Pidgin/Gtk/bin/libpangowin32-1.0-0.dll
/Pidgin/Gtk/bin/libpng14-14.dll
/Pidgin/Gtk/bin/pango-querymodules.exe
/Pidgin/Gtk/bin/zlib1.dll
/Pidgin/spellcheck/lib/enchant/libenchant_ispell.dll
/Pidgin/spellcheck/lib/enchant/libenchant_myspell.dll
/Pidgin/Gtk/lib/gtk-2.0/modules/libgail.dll
/Pidgin/Gtk/lib/gtk-2.0/2.10.0/engines/libpixmap.dll
/Pidgin/Gtk/lib/gtk-2.0/2.10.0/engines/libwimp.dll
--
Ticket URL: <https://developer.pidgin.im/ticket/15521>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list