TL;DR: DLL sideloading lets attackers load malicious code alongside a legitimate executable by exploiting Windows DLL search order behaviour, as Airlock Digital explains in its CPU-Z incident walkthrough. The core lesson is that allowlisting has to cover runtime-loaded components as well as the signed primary binary, because trust at launch does not guarantee trust at execution.
Editorial analysis by NHI Mgmt Group, based on content published by Airlock Digital: “CPUID Website Supply Chain Attack via DLL Sideloading”.
Key questions
Q: What fails when allowlisting only covers the primary executable in DLL sideloading scenarios?
A: The control fails because the allowed application can still load an attacker-controlled library at runtime.
Q: Why does DLL sideloading remain effective in supply chain attacks?
A: It remains effective because it exploits normal Windows loader behaviour rather than obvious tampering with the main application.
Q: Where do application controls break down when software loads libraries at runtime?
A: They break down when policy stops at the first file that launches and does not separately govern the libraries, plugins, or helper components the process loads afterward.
Practitioner guidance
- Tighten application control around runtime dependencies Block unsigned or untrusted DLLs even when the parent executable is approved, so the loading decision is governed separately from the launch decision.
- Constrain writable search paths Remove user-writable directories from DLL search paths where possible and audit applications that load libraries from the local directory before system locations.
- Inventory applications that rely on dynamic loading Identify software that uses plugins, helper DLLs, or side-loaded components so policy exceptions do not become permanent trust gaps.
Bottom line: DLL sideloading exploits a gap between trusted launch and trusted execution, allowing malicious code to run beside a legitimate Windows application.
Explore further
View Full Forum → | NHI Foundation Course → | Our Services → | Read the full analysis →
DLL sideloading is a runtime trust problem, not just a software integrity problem. The CPU-Z case shows that a signed primary binary can remain legitimate while the executable path still becomes hostile through a malicious dependency. That shifts the security question from whether software is trusted at launch to whether every runtime load decision is governed. Practitioners should treat dynamic loading as part of the trust boundary, not an implementation detail.
A few things that frame the scale:
- 92% of organisations expose NHIs to third parties, raising concerns about supply chain security, according to the Ultimate Guide to NHIs.
A question worth separating out:
Q: Should security teams treat sideloaded DLLs as part of software provenance reviews?
A: Yes. If a supply chain review only covers the signed package or installer, it can miss the files that actually run at execution time. Teams should review adjacent runtime components, search paths, and deployment locations as part of provenance and endpoint control, because the attack often succeeds without altering the vendor’s primary binary.
👉 Read our full editorial: DLL sideloading in supply chain attacks: what practitioners need to know