`Hi @ll,
Cygwin's setup-x86.exe loads and executes UXTheme.dll
(on Windows XP also ClbCatQ.dll) and some more DLLs from its
"application directory".
For software downloaded with a web browser the application
directory is typically the user's "Downloads" directory: see
<https://insights.sei.cmu.edu/cert/2008/09/carpet-bombing-and-directory-poisoning.html>,
<http://blog.acrossecurity.com/2012/02/downloads-folder-binary-planting.html>
and <http://seclists.org/fulldisclosure/2012/Aug/134>
If UXTheme.dll (or one of the other DLLs) gets planted in the
user's "Downloads" directory per "drive-by download" or "social
engineering" this vulnerability becomes a remote code execution.
If setup-x86.exe is NOT started with --no-admin the vulnerability
results in an escalation of privilege too!
Proof of concept/demonstration:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. visit <http://home.arcor.de/skanthak/sentinel.html>, download
<http://home.arcor.de/skanthak/download/SENTINEL.DLL> and save
it as UXTheme.dll in your "Downloads" directory, then copy it
as DWMAPI.dll;
2. on Windows XP, copy the downloaded UXTheme.dll as ClbCatQ.dll;
3. download setup-x86.exe and save it in your "Downloads" directory;
4. execute setup-x86.exe from your "Downloads" directory;
5. notice the message boxes displayed from the DLLs placed in step 1
(and ClbCatQ.dll placed in step 2).
PWNED!
6. copy the downloaded UXTheme.dll as WSock32.dll (on Windows XP
also as PSAPI.dll and WS2_32.dll);
7. rerun setup-x86.exe from your "Downloads" directory.
DOSSED!
8. turning the denial of service into an arbitrary (remote) code
execution is trivial: just add the SINGLE entry (PSAPI.dll:
EnumProcesses, WSock32.Dll: recv, WS2_32.dll: Ordinal 21)
referenced from setup-x86.exe to a rogue DLL of your choice.
PWNED again!
See <http://seclists.org/fulldisclosure/2015/Nov/101>,
<http://seclists.org/fulldisclosure/2015/Dec/86> and
<http://seclists.org/fulldisclosure/2015/Dec/121> plus
<http://home.arcor.de/skanthak/!execute.html> and
<http://home.arcor.de/skanthak/sentinel.html> for details about
this well-known and well-documented BEGINNER'S error!
stay tuned
Stefan Kanthak
Timeline:
~~~~~~~~~
2015-12-28 report sent to <[email protected]>,
<[email protected]> and <[email protected]>
BOUNCED
2015-12-28 report sent to <[email protected]>
No answer, not even an acknowledgement of receipt
2016-01-06 report resent to <[email protected]> and
<[email protected]>
2016-01-07 clueless reply from reader of <[email protected]>:
"- cygwin mailing list is public, you violate your
own policy;
- Windows XP is unsupported"
2016-01-07 sent reply to <[email protected]>:
- see <https://cygwin.com/lists.html>
| cygwin: In general, you should send questions and
| bug reports here.
- see RFC 2142: <[email protected]>,
<[email protected]> and <[email protected]>
all bounce, then read my policy again.
- Windows Embedded POSReady 2009 is Windows XP SP3
in disguise and supported until 2019.
- which part of "UXTheme.dll is loaded (on every version
of Windows)" is not understood?
<[email protected]>:
In an effort to cut down on our spam intake, we block email that is
detected as spam by the SpamAssassin program. Your email was flagged as
spam by that program. See: http://spamassassin.apache.org/ for more
details.
[...]
Contact [email protected] if you have questions about this. (#5.7.2)
2016-01-07 sent questions to <[email protected]>
<[email protected]>: host sourceware.org[209.132.180.131] said:
552 spam score exceeded threshold (in reply to end of DATA command)
2016-02-26 report published
Cygwin is obviously neither interested in communication
nor willing to fix their vulnerable installer!
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation