Untrusted executable, library, or module search path
A program resolves an executable/library/module from an attacker-writable search location instead of the intended trusted component.
Candidate CWE: CWE-427
Test hypothesis#
Trace basename-based execution, dynamic loading, and plugin discovery with their actual PATH/module search rules. In a local fixture, place a harmless marker component in an attacker-writable candidate directory and observe which file resolves. Compare an absolute trusted path or constrained search configuration.
Evidence required#
Search order, directory ownership, attacker capability, selected file path/hash, invoking process identity, and marker-only observation. Explain the privilege boundary or trusted action influenced by the substituted component.
Rule out false positives#
Attacker already controls the same process/code; the directory is not writable to the proposed actor; the component is explicitly user-selected under the product contract; or trusted resolution precedes it.
Playbook and command references#
- Source review: entry point to protected operation — Trace attacker control and authorization through handlers, services, queues, and sensitive operations; promote only reachable violations of a stated invariant.
- CI and releases: trace untrusted input into privileged work — Audit workflow events, shell interpolation, untrusted builds, artifact consumers, and release identity as one privilege chain.
Find the associated command snippets
Referenced by these target playbooks#
Report checklist#
- Capture the affected version, configuration, identities, and object ownership.
- Preserve a valid baseline and a negative control.
- Reproduce the forbidden data access, action, or state change on controlled fixtures.
- Explain the intended security rule and why the observed behavior violates it.
- State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.
Conditional ATT&CK mapping#
- T1068 · Exploitation for Privilege Escalation — Only if: A software vulnerability crosses a privilege boundary into a more privileged process or security context; record before/after identities and the vulnerable component. Not established by: Do not infer this from any feature named admin, a writable path alone, or a kernel version match. Application role authorization flaws need their own contextual analysis.