[Pidgin] #15209: Pidgin for Windows (2.10.6) - Missing DEP and ASLR

Pidgin trac at pidgin.im
Wed Jul 11 17:31:06 EDT 2012


#15209: Pidgin for Windows (2.10.6) - Missing DEP and ASLR
----------------------+-----------------------------------------------------
 Reporter:  noloader  |        Owner:  rekkanoryo  
     Type:  defect    |       Status:  new         
Milestone:            |    Component:  unclassified
  Version:  2.10.6    |   Resolution:              
 Keywords:            |  
----------------------+-----------------------------------------------------
Description changed by noloader:

Old description:

> Running BinScope on the latest Pidgin for Windows shows pidgin.exe is
> missing some platform security features, such as DEP and ASLR.
>
> Failed checks
> C:\Program Files (x86)\Pidgin\pidgin.exe - NXCheck ( FAIL )
> Information :
> Image is not marked as NX compatible
> C:\Program Files (x86)\Pidgin\pidgin.exe - SafeSEHCheck ( FAIL )
> Information :
> No SAFESEH (LOAD_CONFIG absent)
> C:\Program Files (x86)\Pidgin\pidgin.exe - DBCheck ( FAIL )
>
> To resolve the failed issues, the switches of interest for Visual Studio
> are: /GS, /SafeSEH, /NXCOMPAT, /dynamicbase. High risk source files, such
> as those which parse messages from unknown sources and the internet,
> should add "#pragma strict_gs_check(on)" to the source file.
>
> For completeness, here are the switches for GCC: -fPIE and -pie (or -fPIC
> and -shared), -fstack-protector-all, -Wl,-z,noexecstack,
> -Wl,-z,noexecheap, -Wl,-z,relro, -Wl,-z,now. If Glibc is being used, the
> -DFORTIFY_SOURCES=2 should be used.
>
> Buffer overflows and other programming defects happen on occasssion, and
> things like ASLR and DEP will help mitigate the failure for folks using
> the program. The platform security measures can take a critical bug (for
> example, that results in remote code execution) and turn it into a non-
> critical defect (for example, a call to abort() due to a stack smash).

New description:

 Running BinScope on the latest Pidgin for Windows shows pidgin.exe is
 missing some platform security features, such as DEP and ASLR.

 ** Failed checks **
 C:\Program Files (x86)\Pidgin\pidgin.exe - NXCheck ( FAIL )
     Information : Image is not marked as NX compatible
 C:\Program Files (x86)\Pidgin\pidgin.exe - SafeSEHCheck ( FAIL )
     Information : No SAFESEH (LOAD_CONFIG absent)
 C:\Program Files (x86)\Pidgin\pidgin.exe - DBCheck ( FAIL )
     Information: Image is not marked as Dynamic Base compatible

 Running the image with full defenses via EMET
 (http://support.microsoft.com/kb/2458544) produced no errors. I'm not a
 hardcore IM'er, and I did not try any of the available plugins.

 To resolve the failed issues, the switches of interest for Visual Studio
 are: /GS, /SafeSEH, /NXCOMPAT, /dynamicbase. High risk source files, such
 as those which parse messages from unknown sources and the internet,
 should add "#pragma strict_gs_check(on)" to the source file.

 For completeness, here are the switches for GCC: -fPIE and -pie (or -fPIC
 and -shared), -fstack-protector-all, -Wl,-z,noexecstack,
 -Wl,-z,noexecheap, -Wl,-z,relro, -Wl,-z,now. If Glibc is being used, the
 -DFORTIFY_SOURCES=2 should be used.

 Buffer overflows and other security defects happen on occasssion, and
 things like ASLR and DEP will help mitigate the failure for folks using
 the program. The platform security measures can take a critical bug (for
 example, a message that results in remote code execution) and turn it into
 a non-critical defect (for example, a call to abort() due to a stack
 smash).

--

-- 
Ticket URL: <http://developer.pidgin.im/ticket/15209#comment:1>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list