lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ