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.
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.
- 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
CliGateMinutesdeadline. - Anything in the MSI that grants more than a per-machine install into
%ProgramFiles%\RunAsHelperneeds.
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.