SiteShadow
Back to vulnerability library

CWE-114 Process Control

What this means

SiteShadow flagged external input influencing process control: what gets executed/loaded, how it's executed, or what libraries/modules are loaded. This includes dynamic library loading paths, executable names, and environment variables that affect loaders.

Why it matters

Attackers can load malicious libraries or alter execution flow.

Safer examples

1) Don't let users choose executables or library paths

Use allowlisted commands and fixed paths; never accept "binary path" from a request.

2) Use safe subprocess APIs (no shell strings)

import subprocess

subprocess.run(["git", "status"], check=True)  # allowlisted
import { spawn } from "node:child_process";

spawn("git", ["status"], { stdio: "inherit" });

3) Lock down environment and loader behavior

Avoid passing untrusted env vars like LD_LIBRARY_PATH / PYTHONPATH into privileged processes; run with least privilege.

How SiteShadow detects it (high level)

References

---

← Back to Vulnerability Library

Request access View coverage