[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4D97E4BF36DF4A46A8997BEFCF15E0E8@W340>
Date: Sat, 17 Feb 2018 20:33:48 +0100
From: "Stefan Kanthak" <stefan.kanthak@...go.de>
To: <bugtraq@...urityfocus.com>
Cc: fulldisclosure@...lists.org
Subject: [FD] Mozilla's executable installers: FUBAR (that's spelled
"fucked-up beyond all repair")
Hi @ll,
since many years, Mozilla tries to beat the crap out of their
always vulnerable executable installers: see for example
<https://bugzilla.mozilla.org/show_bug.cgi?id=579593> alias CVE-2010-3131
<https://bugzilla.mozilla.org/show_bug.cgi?id=811557>
<https://bugzilla.mozilla.org/show_bug.cgi?id=792106> alias CVE-2012-4206
<https://bugzilla.mozilla.org/show_bug.cgi?id=961676> alias CVE-2014-1520
<https://bugzilla.mozilla.org/show_bug.cgi?id=1361326> alias CVE-2017-7755
and the gazillions of duplicates (notice that quite some of these
"duplicates" predate their "original" bug).
Their success?
NONE!
ALL their executable installers are still vulnerable to DLL hijacking!
#1) "Firefox Installer.exe" (digitally signed 2018-01-28) 58.0.1
is vulnerable to DLL hijacking:
* on a fully patched Windows Embedded POSReady 2009 alias
Windows XP SP3 it loads at least DWMAPI.DLL (this DLL is NOT
shipped before Windows Vista)
JFTR: this 306kB "large" program is an UPX-compressed 7-zip
self-extractor of whopping 394kB size, which contains a
single "setup-stub.exe" of 406kB size.
The kids at Mozilla must love to play Matroschka!
#2) "setup-stub.exe" extracted and executed by "Firefox Installer.exe"
is vulnerable to DLL hijacking:
* on a fully patched Windows Embedded POSReady 2009 alias
Windows XP SP3 it loads at least PROPSYS.DLL (this DLL is NOT
shipped before Windows Vista) before it displays the message box
"For Windows 7 and newer only"; after click on [OK] it loads
RICHED20.DLL from its application directory.
#3) "Firefox Setup 52.6.0esr.exe" (digitally signed 2018-01-19)
is vulnerable to DLL hijacking:
* on a fully patched Windows Embedded POSReady 2009 alias
Windows XP SP3 it loads at least DWMAPI.DLL (this DLL is NOT
shipped before Windows Vista)
JFTR: this too is an UPX-compressed 7-zip self-extractor.
The UPX-compression reduces its size by less than 0.2%
These kids must REALLY love to play Matroschka!
#4) "setup.exe" extracted and executed by "Firefox Setup 52.6.0esr.exe"
is vulnerable to DLL hijacking:
* on a fully patched Windows Embedded POSReady 2009 alias
Windows XP SP3 it loads (before it even displays the first
dialog box; I stopped there, so there may well be more DLLs
sideloaded) at least WINMM.DLL, SETUPAPI.DLL, MSACM32.DLL,
UXTHEME.DLL from its application directory, plus PROPSYS.DLL
(this DLL is NOT shipped before Windows Vista);
* on a fully patched Windows 7 SP1 it loads (before it even
displays the first dialog box; I stopped there, so there may
very well be more DLLs sideloaded) at least UXTheme.dll,
WinMM.dll, SAMCli.dll, MSACM32.dll, Version.dll, SFC.dll,
SFC_OS.dll, DWMAPI.dll, MPR.dll from its application
directory.
DLL hijacking is a well-known and well-documented vulnerability
(and a true sign for absolute beginner's at work):
see <https://cwe.mitre.org/data/definitions/426.html>
and <https://cwe.mitre.org/data/definitions/427.html>,
plus <https://capec.mitre.org/data/definitions/471.html>
Since these installers need to be run with administrative privileges
(on Windows Vista and above, the 7-zip self-extractors start the
extracted "setup-stub.exe" and "setup.exe" via RunAs to trigger
WindowsÄ user-account control), the DLL hijacking results in
escalation of privilege.
"setup-stub.exe" and "setup.exe" are extracted to an UNSAFE
subdirectory of %TEMP%, another well-known and well-documented
vulnerability:
see <https://cwe.mitre.org/data/definitions/377.html>
and <https://cwe.mitre.org/data/definitions/379.html>
Fix:
~~~~
Dump those FOREVER defective executable installers for Windows!
Provide an .MSI, or an .INF script plus a .CAB.
Windows ships since more than 22 years with SetupAPI which uses
.INF scripts, and since about 18 years with the Microsoft Installer.
stay tuned, and FAR AWAY from Mozilla's crap
Stefan Kanthak
Timeline:
~~~~~~~~~
2018-02-08 vulnerability report sent to Mozilla
no reaction
2018-02-17 report published
_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/
Powered by blists - more mailing lists