Skip to content

Security: bigfnj/runas-helper

Security

SECURITY.md

Security policy

Reporting

Open a private security advisory rather than a public issue. This is a hobby project maintained by one person, so expect a reply in days rather than hours.

What this tool is

RunAS Helper deliberately launches processes as NT SERVICE\TrustedInstaller and NT AUTHORITY\SYSTEM. Obtaining SYSTEM from an administrator account is the entire feature, not a flaw. Windows does not treat the boundary between Administrator and SYSTEM as a security boundary, and neither does this project.

In scope

  • Anything that lets a caller reach the pipe and launch a process without either the installed-and-elevated tray identity or an administrator having opened the CLI gate.
  • Anything that lets a non-administrator open the CLI gate, change settings, or enumerate or kill jobs.
  • A way to make the service launch a target other than the one the caller asked for, for example through the client-side document-association rewrite.
  • A gate that outlives its owning tray or its CliGateMinutes deadline.
  • Anything in the MSI that grants more than a per-machine install into %ProgramFiles%\RunAsHelper needs.

Out of scope

The CLI gate is a session-wide grant. This is documented, intended behaviour and reports about it will be closed as such. The pipe ACL includes the INTERACTIVE SID, so while an administrator has the gate open, any process in the interactive session can launch as TrustedInstaller, including non-elevated processes and processes belonging to standard users. The gate exists so that unelevated scripts and automation can use the service without each caller carrying its own elevation. It is off by default, only an elevated tray can open it, it is revoked when that tray exits, and it expires after CliGateMinutes (default 30). If you need a per-user boundary, narrow the INTERACTIVE rule in PipeServer.CreatePipe() to the tray owner's SID and rebuild.

Also out of scope:

  • An administrator using the tool as designed to modify protected files, registry keys or services. That is the product.
  • Privilege escalation that requires administrator rights to begin with.
  • The self-signed Serenity Software certificate not being trusted on your machine. It is not meant to be. See the README.
  • Reports generated by scanners with no demonstrated path to the outcome.

There aren't any published security advisories