All lessons Leer en español

Security in depth · Unit 22 · Lesson 33 of 44

DLL loading extends the trust boundary

Assess a supplied dependency inventory without treating an approved executable as approval for every loaded library.

4 minreadyShort lesson

Helpful before thisWindows privilege escalation

See all lessons in this topic

After this lesson you can

  • Identify which dependency evidence remains missing before release acceptance.

The running program includes its libraries

A loaded dependency is library code an application selects and runs within its process. That code participates in the application’s security context; it is not automatically isolated because it came from a separate file. Windows loading behavior depends on the loading method and application configuration, so one universal search-order diagram would hide important conditions.

A fictional release record

LedgerView generates a volunteer report. Its release packet contains:

Item Supplied evidence
Main executable Approved version and expected publisher
Formatting library Version differs from the approved inventory
Library location Update authority not yet reviewed
Functional result Sample report renders correctly

Assume this is the library actually selected in the observed run. The packet does not establish how other configurations choose dependencies, who changed the version, or whether the library is harmful.

Loading policy → Selected DLL → Process authorityLoading policySelected DLLProcess authority
Review loading policy, the library actually selected, and its process context; the picture does not prescribe a universal search order.

Ask for evidence about the missing boundary

The successful report establishes useful behavior for one sample. It does not settle provenance or who can replace dependency code. Likewise, the approved main executable does not independently validate this library. The owner should reconcile the inventory, document the intended loading configuration, and review the maintained locations and update role.

A defensible release note says dependency acceptance is pending, with the missing evidence named. Legitimate plugins can require separate updates, so the answer is not to label every external library malicious or remove all extensions without considering required functions. Acceptance should connect the approved dependency to the actual selected version and confirm required reporting still works in the supported configuration.

Terms you met

Loaded dependency

Check yourself

No timer. No penalties. Read the explanation and try again whenever you like.

  1. The main program is approved, but the loaded formatting library has an unexplained version and an unreviewed update location. What should happen?

    Show the answer

    Correct answer: Keep dependency acceptance open until its identity, origin, loading configuration, and update authority are reviewed. Approval of the host does not establish the provenance or control of this separate code dependency.

Try it

  • WriteWrite a release decision naming the verified executable, unresolved dependency, missing origin/control evidence, and an acceptance check that preserves required rendering.
References