Researcher Finds Tens of Software Products Vulnerable To Simple Bug (softpedia.com)
An anonymous reader writes: There's a German security researcher that is arduously testing the installers of tens of software products to see which of them are vulnerable to basic DLL hijacking. Surprisingly, many companies are ignoring his reports. Until now, only Oracle seems to have addressed this problem in Java and VirtualBox. Here's a short (probably incomplete) list of applications that he found vulnerable to this attack: Firefox, Google Chrome, Adobe Reader, 7Zip, WinRAR, OpenOffice, VLC Media Player, Nmap, Python, TrueCrypt, and Apple iTunes. Mr. Kanthak also seems to have paid special attention to antivirus software installers. Here are some of the security products he discovered vulnerable to DLL hijacking: ZoneAlarm, Emsisoft Anti-Malware, Trend Micro, ESET NOD32, Avira, Panda Security, McAfee Security, Microsoft Security Essentials, Bitdefender, Rapid7's ScanNowUPnP, Kaspersky, and F-Secure.
The obvious question is; what's a DLL?
"The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
There's an informative (and non-PDF) post on Fortinet's blog discussing DLL hijacking. You can use a registry tweak to harden a system against this technique.
"UPDATE: Mr. Kanthak has told Softpedia that "most of the companies/vendors I contacted patched their products." Rapid7 went so far as to withdrew their ScanNow product altogether.
"Some of the companies/vendors which did not reply to my reports in the first place contacted me after they became aware of the [public disclosure] posts and fixed their installers, or are working on a fix now," Mr. Kanthak also added.
Additionally, there also some other software products for which Mr. Kanthak has not yet posted a public disclosure post, but to which he reported vulnerabilities, and the companies are now working on a fix."
If you have the ability to write a malicious DLL into a folder for the executable, you already have the ability to run administrator level code. Why bother with the DLL?
cf: Raymond Chen
Wow. An binary that gets installed on a system can be bad.
What next?
They're ignoring his reports?
That's probably because they are 1 step away from saying attackers can place "malware.exe" on your system that, when executed, does bad things.
I'm aware of the Windows DLL load behavior, and how it creates "DLL Hell." I never thought of the security implications, because I assumed that Windows behaved more ... sanely.
The root of the problem is that the affected applications are installers, which need to be run with elevated rights. On Linux systems, for example, when an application is run with escalated rights (through SUID or sudo), the dynamic library loader uses only the system library paths and ignores user specified paths (such as the LD_LIBRARY_PATH environment variable).
Why the HELL doesn't Windows do the same for apps run as administrator?
"Program doesn't notice if you WHOLESALE REPLACE EXTERNAL BITS WITH OTHER BITS"
No shit. Welcome to Windows. For that matter, welcome to EXTERNAL FUCKING LIBRARIES IN GENERAL YOU FUCKING TWAT.
I'm not a lawyer, so if you are and I'm wrong then please, I beg of you a million times, correct me! But from what it is that I understand about LGPL licensed software libraries it is that the LGPL licensed software library must be linked dynamically so that somebody can swap in a modified version if they want. That is what prevents the LGPL licensed software from infecting your maybe non-LGPL licensed software with the infection of LGPL license. So if techniques are used by a non-LGPL licensed software to prevent DLLs which may be LGPL licensed from being swapped out then does that mean that the non-LGPL licensed software is now in severe violation of the terms and conditions of the LGPL licensed software? Is this big danger for people who do not want their non-LGPL licensed software infected by the LGPL? Should they avoid the LGPL libraries and use libraries released under non-totalitarian licenses like the BSD or MIT licenses instead so there are no doubts because no LGPL licensed software is being used at all?
They don't call Windows DLL hell for no reason, after all.
DOZENS!
An LGPL program can be linked statically to a proprietary program so long as the proprietary program's publisher makes available to its licensees a set of working .o files that can be linked to a new version of the LGPL program.
I have asked my Hyderabad team to investigate this problem and they have reported back to me that JDBC is a fix for it.
Can anyone confirm if JDBC is a fix for this DLL problem?
How would a Java database connectivity layer fix this if it's a problem with a C++ program interacting with a C++ DLL?
Norton is more secure than bitdefender, nod32 and kaspersky... F yall who hate on it for no reason when the others are even worst.
Can static linking on windows be done? I mean, Firefox, who cares? But products like truecrypt should be statically compiled, and require no resources from their operating system.
Religion is what happens when nature strikes and groupthink goes wrong.
The fix is to call SetDllDirectory("") before using LoadLibrary(). The problem is that by default, when using LoadLibrary(), Windows searches the application directory, then the current directory.
This also only seems to affect DLLs loaded using LoadLibrary(), not those linked in using import libraries.
More information: https://msdn.microsoft.com/en-us/library/windows/desktop/ms682586%28v=vs.85%29.aspx
Someone please tell me this is only a Microsoft Windows thing.
Start learning security issues early on!
Sounds to me after all of Slashdot's articles that many software teams don't have a coding security expert or security team or we wouldn't have all these flaws.
is getting sick of this guy. Effectively identical reports for months and months on end, with no real value to the information. If he wants to name and shame, he should set up a website instead of spamming the hell out of the security lists. Everyone who reads the lists knows about it, if we secure systems we protect against it, so stop bombarding us with this drivel! Congrats on your shameful self promotion, it finally worked.
More than tens of software products are vulnerable to key loggers installed in keyboard cables. More than tens of software products are vulnerable to compromise when executed from compromised systems.
Come on people fix your vulnerable software or we will publically slut shame you for your indifference.
Am I alone in thinking that if malicious code has admin level write access to system disks then you're already fubar?
The horse is gone! Shut the barn door!
XML is a known as a key material required to create SMD: Software of Mass Destruction
This is slashdot. Unless you are being sarcastic about a click-baity site that we need to laugh at, "Simple Bug" is not a valid replacement for "DLL Hijacking" or, more descriptively, "DLL Side Loading" or "DLL replacement."
You want to know what will make Slashdot better? Good headlines is a fantastic start. :-)
Is it just my observation, or are there way too many stupid people in the world?
Was this "report" published in 2003?
You would "hard code" using system variables like this:
%CSIDL_PROGRAM_FILESX86%\Avast\Sanner\foo.dll
That would end up being "the right place" no matter which drive letter has your Program Files directory. It wouldn't load hacker\foo.dll from any location.
I know this is offtopic, but why the use of the word "tens" in the the summary? Perhaps it's a regional thing (western US here) but the term "dozens" seems much more natural to me. Unless you're talking about the very narrow range of 20-23 items i can't think of a good reason why "tens" would be preferred.
This Space Intentionally Left Blank
I'm going to simplify this a bit, but consider you download two things songlist.zip. You extract songlist.zip, which is a data. You don't execute anything in that download. You just extract it to your downloads folder and use notepad to open the resulting songlist.txt. You don't notice that it also included a file called netssl.ddl, which sits in your downloads folder.
Later, you download mcafee_setup.exe. You run macafee_setup.exe, which needs to run as admin. mcafee_setup.exe makes use of netssl.dll. It could use the hacked version which was part of songlist,zip, running code with full admin privileges that you never intended to run at all.
"UPDATE: Mr. Kanthak has told Softpedia that "most of the companies/vendors I contacted patched their products." Rapid7 went so far as to withdraw their ScanNow product altogether.
"Some of the companies/vendors which did not reply to my reports in the first place contacted me after they became aware of the [public disclosure] posts and fixed their installers, or are working on a fix now," Mr. Kanthak also added.
Additionally, there also some other software products for which Mr. Kanthak has not yet posted a public disclosure post, but to which he reported vulnerabilities, and the companies are now working on a fix."
This doesn't seem like a very big vulnerability because it still requires the user to explicitly trust an installer to install executable code. Whether that code is an executable or a DLL that gets loaded into another application, once you've installed malicious software, you're screwed.
Corrected for accuracy. This has been known about for years. Windows will load a DLL from the current search path if it has the same name as a native system DLL. This can't be disabled or it breaks most applications.
The problem is the practice of requiring admin privileges to install most software. Software should not require admin install unless they really need it. Common frameworks (which are a big user of DLLs) do exacerbate the problem since they often want to be installed in a root location so all the applications can share it.
A solution is to forbid third parties from bundling installers for common framework runtime binaries. If the framework is needed, then either install the binaries in the application directory or tell the user to go install it themself.
The VirtualBox team is actually really intense about security and hackability.
Guys! I discovered a new vulnerability in Windows:
If you replace an executable with a different executable and then execute it, you actually execute the new executable and not the executable you replaced. Where should I submit my paper for publication?
No dependency on 3rd party' libs or bugs: APK Hosts File Engine 9.0++ SR-4 32/64-bit http://start64.com/index.php?o...
-
FREE, not 'souled-out' to advertisers, adds speed, security & reliability.
Does more w/ less more efficiently vs. addons (clarityray blockable, redundant + RAM/CPU wasteful & 'souled-out' crippled by default) & local DNS servers @ home.
Fixes DNS' security issues & stops tracking @ webpage + DNS levels via 1 file you NATIVELY have!
(Firewalls do rest on less used IP address trackers/threats vs. host-domain names).
-
Obtains data vs. threats & ads via 10 reputable security community sites - easily edited using my program.
-
SPEEDS YOU UP 2 ways:
Adblocking ALL ads + local RAM cached favorite sites @ TOP of hosts for faster resolution vs. remote DNS (for reliability + speed) vs. other "so-called security 'solutions'" SLOWING YOU!
-
All via what you already have vs. illogically "bolting on browser addons 'MOAR'" (clarityray detected/blockable + usermode slow & increased messagepassing, cpu + ram overheads)
-
MalwareBytes' hpHosts Admin (MalwareBytes employee verified it's source as safe http://forum.hosts-file.net/vi... ) hosts & recommends it -> http://hosts-file.net/?s=Downl...
&
MalwareBytes = BEST antivirus per a VERY recent testing of them all http://www.av-test.org/en/news...
&
Safe proven by 57 antivirus programs in its 64-bit model https://www.virustotal.com/en/...
+
32-bit model https://www.virustotal.com/en/...
&
Installer-> http://f.virscan.org/APKHostsF...
-
* "The premise is quite simple: Take something designed by nature & reprogram it to make it work for the body rather than against it..." - Dr. Alice Krippen: "I am legend".
APK
P.S.=> By "yours truly" - "The Lord of Hosts" so-to-speak:
"The image this title brings to mind is a mighty military commander who can at a mere word summon rank upon rank of protective power" -> https://answers.yahoo.com/ques... & THE WORD = hosts!
(Accept NO substitutes)
...apk
If your computer gets compromised, the attacker can fuck with .dll files on your syst..
oh wait.
I like shitting on Windows apps as much as the next guy, but if you can replace a library on the drive, aren't you just going to like... win? Maybe there's more protection on real systems, but it's a binary that gets run with the permissions and privileges of whatever is running it. Can someone explain to me how this is a larger concern, and what was done to patch the security of this?
It stands to reason that if you can overwrite a dll, you can overwrite a lot of stuff, same as with an .so or something. Is it something where in Windows its easy to overwrite the DLL in the first place?
That's a lot of name-dropping. Wonder if said researcher asked for a bit of hush money and if you paid up you were taken off the list? Smear campaigns for cash are hardly new.
So as a user you downloaded a suspect binary but it's the OS that's at fault?
It's certainly true that Windows sucks for this kind of issue, and always has, but there's only so much you can do to protect idiot users from themselves.
XML is a known as a key material required to create SMD: Software of Mass Destruction
The OS is at fault for loading a DLL from the downloads directory, without explicitly being asked to do so.
Certain other operating systems only look for DLLs (or equivalent) in the system directories /lib and /usr/lib.
> So as a user you downloaded a suspect binary but it's the OS that's at fault?
Yes, it's a security flaw in the OS. I should be able to download fdisk.exe (as an unprivileged user) without the OS running fdisk.exe /wipe c: (as admin). Downloading as a user shouldn't mean executing as admin.
There is a similar variable for "this program's installation directory", I believe. Generally, though, your DLLs should go where DLLs belong. Fighting against the design of the OS tends in increase the risk of a security exposure, in general.
See subject: How did they taste? http://slashdot.org/comments.p...
* :)
(LOL, loser...)
APK
P.S.=> If Computer Associates & Thor SCHMUCK were right, then WHY did they have to remove a program of mine as a 'threat' lowering it to ZERO/NO THREAT levels, stupid? apk
Figuring out what belongs where is actually a nightmare on Windows. I've spent several days looking for some official documentation on that topic and came up empty-handed. Also, the ways in which Windows messes with file accesses from programs and redirects them seem to be completely undocumented or documented in extremely obscure places.
Of course, the next version of Windows changes everything. Again.
It has hardly changed since Windows 2000, though it has been tightened up quite a bit with each new OS version. The only thing missing is a sanctioned shared-writable standard folder hierarchy. Some of the standard folder paths changed as of Windows Vista, but if you're using the sanctioned methods for folder access, then applications properly written for Windows XP will run without folder access problems on later OS versions. Vista also added registry/folder redirection (not the correct terminology, but I'm not going to look it up again), but if you're seeing that, then you were doing it wrong long before Vista was released.
The information you want and much more can be found in the Windows Logo guidelines. Even if you have no intention of applying for Logo certification, those requirements document what you haven't been able to find.
- T
can't i just get your hosts file as text? i don't see why i need an executable.