Vulnerabilities / Threats
10/28/2010
12:29 PM
50%
50%

Microsoft Windows Still Vulnerable To DLL Hijacking

Even patched applications aren't safe from bug, says ACROS security researcher.

Image Slideshow: Windows 7 Revealed
(click image for larger view)
Slideshow: Windows 7 Revealed

Even patched Windows applications remain vulnerable to dynamic link library (DLL) hijacking -- aka DLL planting and DLL loading -- attacks due to the erratic way in which Windows attempts to load DLLs.

That warning comes from a security advisory released on Wednesday by ACROS Security.

How can attackers take advantage of the DLL vulnerability? According to Microsoft: "When an application dynamically loads a dynamic link library (DLL) without specifying a fully qualified path name, Windows tries to locate the DLL by searching a well-defined set of directories. If an attacker gains control of one of the directories, they can force the application to load a malicious copy of the DLL instead of the DLL that it was expecting." As a result, attackers can execute arbitrary code using the current user's access level.

To help developers code applications that avoid this DLL-hijacking vulnerability, Microsoft had released SetDllDirectory. This function allows developers to eliminate the current working directory from Windows DLL searches, to frustrate attackers who might otherwise use that directory to hide malicious DLL files.

But developers can't rely on SetDllDirectory, because it behaves erratically, at least on Windows XP Professional 32 bit, Windows Vista Business 32 and 64 bit, and Windows 7 Professional 32 bit, said Mitja Kolsek, CEO of Acros Security.

The issue is that Windows often botches relative file location searches. "Until Microsoft fixes this bug, any application that sets user or system path can unwittingly make your application vulnerable to binary planting if you're loading libraries from relative paths," he said. Furthermore, even when developers write absolute paths, Windows may still treat them as relative ones, or alter other important variables after users log off and log back in.

To help, Kolsek urged developers to "use absolute, fully qualified paths to DLLs when loading them." While that won't block every type of DLL-hijacking attack, it will mitigate many of them.

Note that Microsoft's current DLL-hijacking hotfix does still work, at least against certain types of attacks. "This hotfix successfully blocks DLL loads from the current working directory if configured properly, even if relative locations are found in the PATH," said Kolsek. That said, it will not block executable files from exploiting the DLL hijacking vulnerability. To date, according to Secunia, a vulnerability information provider, 211 applications are vulnerable to DLL-hijacking attacks. So far, however, only 25 have been patched.

Comment  | 
Email This  | 
Print  | 
RSS
More Insights
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Flash Poll
Video
All Videos
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-6090
Published: 2015-04-27
Multiple cross-site request forgery (CSRF) vulnerabilities in the (1) DataMappingEditorCommands, (2) DatastoreEditorCommands, and (3) IEGEditorCommands servlets in IBM Curam Social Program Management (SPM) 5.2 SP6 before EP6, 6.0 SP2 before EP26, 6.0.3 before 6.0.3.0 iFix8, 6.0.4 before 6.0.4.5 iFix...

CVE-2014-6092
Published: 2015-04-27
IBM Curam Social Program Management (SPM) 5.2 before SP6 EP6, 6.0 SP2 before EP26, 6.0.4 before 6.0.4.6, and 6.0.5 before 6.0.5.6 requires failed-login handling for web-service accounts to have the same lockout policy as for standard user accounts, which makes it easier for remote attackers to cause...

CVE-2015-0113
Published: 2015-04-27
The Jazz help system in IBM Rational Collaborative Lifecycle Management 4.0 through 5.0.2, Rational Quality Manager 4.0 through 4.0.7 and 5.0 through 5.0.2, Rational Team Concert 4.0 through 4.0.7 and 5.0 through 5.0.2, Rational Requirements Composer 4.0 through 4.0.7, Rational DOORS Next Generation...

CVE-2015-0174
Published: 2015-04-27
The SNMP implementation in IBM WebSphere Application Server (WAS) 8.5 before 8.5.5.5 does not properly handle configuration data, which allows remote authenticated users to obtain sensitive information via unspecified vectors.

CVE-2015-0175
Published: 2015-04-27
IBM WebSphere Application Server (WAS) 8.5 Liberty Profile before 8.5.5.5 does not properly implement authData elements, which allows remote authenticated users to gain privileges via unspecified vectors.

Dark Reading Radio
Archived Dark Reading Radio
Join security and risk expert John Pironti and Dark Reading Editor-in-Chief Tim Wilson for a live online discussion of the sea-changing shift in security strategy and the many ways it is affecting IT and business.
UPCOMING!
Tuesday, June 2, 1pm EDT

How to Develop a Data Breach Incident Response Plan
FULL SCHEDULE | ARCHIVED SHOWS