Join our Newsletter — 33% off our NHI Course
Home› Glossary› Threats, Abuse & Incident Response› DLL Search Order Hijacking
Threats, Abuse & Incident Response

DLL Search Order Hijacking

← Back to Glossary
By NHI Mgmt Group Updated October 17, 2026 Domain: Threats, Abuse & Incident Response

DLL Search Order Hijacking is a technique where a program loads a malicious DLL from an earlier search location instead of the intended library. Attackers use it for code execution and persistence, so defenders should use safe DLL search settings, signed libraries where possible, and monitor for unexpected DLL loads in application directories.

How DLL search order hijacking works

dll search order hijacking happens when a program loads a library from the wrong location because Windows checks search paths in sequence. The technique is simple, but it is effective because many applications assume the first matching DLL is the intended one.

Attackers usually place a malicious DLL where the application will look before the legitimate copy, such as the current working directory or another writable location. That turns a normal load operation into code execution without changing the executable itself.

Why it is dangerous

The security problem is not the DLL format itself, but the trust placed in path resolution. When an application loads libraries without strict path control, an attacker can influence what code runs inside a trusted process, often with the process's own privileges.

This makes the technique attractive for stealthy persistence and for blending into legitimate application activity. The malicious DLL can run whenever the host application starts, so the compromise may look like an ordinary program launch unless defenders inspect the load chain closely.

Where defenders should look for exposure

Exposure is highest where applications load DLLs from directories that users can write to, or where software relies on relative paths and incomplete library names. The risk increases when legacy applications, third-party tools, or loosely configured plugins search broad directories before system locations.

Defenders should review software inventory, identify writable application paths, and compare expected DLL load behavior against what the process actually loads at runtime. Vendor advisories and threat research on search order abuse provide useful guidance for spotting applications that are especially sensitive to this issue.

Controls and detection priorities

Safe library loading begins with reducing ambiguity in the search path. Applications should use secure DLL search settings, prefer explicit full paths for trusted libraries, and avoid loading from user-writable directories unless there is a strong design reason to do so.

Signed libraries help, but signature checks alone do not solve path hijacking if the application still accepts the wrong file from the wrong place. Defenders should also watch for unexpected DLL loads in program directories, unusual child processes that appear alongside library loading, and new files that match common library names but do not belong to the installed software.

Post-incident review should include the host process, the load path, and any persistence mechanism the attacker used to keep the malicious library in place. The MITRE ATT&CK DLL search order hijacking technique is a useful reference point for mapping observed behavior to adversary tradecraft, and the Persistence Techniques Guide helps place this abuse within the broader persistence landscape.

Risk and Threat Considerations

DLL search order hijacking is dangerous because it converts routine application loading into a local code execution path. If the targeted program runs with elevated rights or starts automatically, the attacker can gain persistence and a reliable execution foothold without exploiting a memory corruption bug.

Failure mechanism: An attacker drops a malicious DLL in a location that the application searches before the legitimate library, causing the program to load attacker-controlled code.

Impact: The malicious DLL executes in the context of the trusted application, which can enable persistence, privilege abuse, and follow-on compromise of the host.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

MITRE ATT&CK addresses the attack and risk surface, while NIST SP 800-53 Rev 5 and CIS Controls v8 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
MITRE ATT&CKT1574.001 — DLL Search Order HijackingDirectly names this technique as an adversary persistence and execution method
Recommendation — Map suspicious DLL loads to T1574.001 and hunt for writable search-path abuse in the affected host process.
NIST SP 800-53 Rev 5SA-11 — Developer Testing and EvaluationSupports secure handling of library loading and path-control flaws in software
SI-7 — Software, Firmware, and Information IntegrityCovers integrity monitoring for unexpected code and tampered libraries
Recommendation — Test application loading behavior to prevent unsafe DLL search paths before release. Monitor for unexpected DLL replacements and alert on integrity changes in application directories.
CIS Controls v8CIS-10 — Malware DefensesSupports detection of malicious libraries and suspicious execution from trusted processes
CIS-8 — Audit Log ManagementUseful for tracking anomalous library loads and host execution patterns
Recommendation — Scan for and quarantine malicious DLLs loaded from nonstandard or writable locations. Log DLL load events and review abnormal module paths during incident investigation.

Practitioner Guidance

Why practitioners should care: This technique is often missed when teams focus only on executable hashes or traditional startup items. The real control point is library resolution, so software review needs to include where DLLs are searched for and whether those locations are writable by untrusted users.

What to watch for: Repeated library loads from unexpected directories, DLL names that mirror legitimate system components, and application-specific folders that suddenly contain executable library files are all strong signals worth investigating.

Practitioner takeaway: Treat unexpected DLL loading as both a prevention and detection problem, because once the wrong library is chosen, the application itself becomes the attacker’s delivery mechanism.

Free weekly newsletter

Subscribe to the NHI & AI Identity Journal

The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.

Bonus 33% off our NHI Course when you subscribe.

NHIMG Editorial Note
Reviewed and updated by the NHIMG editorial team on October 17, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org