Skip to content

Security: musharna/jobd

Security

SECURITY.md

Security Policy

Reporting a vulnerability

Please report security issues privately — do not open a public issue for a suspected vulnerability.

Use GitHub's private vulnerability reporting: Report a vulnerability (Security → Advisories → Report a vulnerability on the repo).

Include as much as you can: affected version/commit, configuration, a reproduction, and the impact you observed. You'll get an acknowledgement within a few days; please allow time for a fix before any public disclosure.

Threat model — read this first

jobd is remote-code-execution-as-a-service by design. A client that can reach the broker's /submit endpoint with a valid token can run arbitrary commands on a worker, as the worker's user. That is the intended function, not a vulnerability. The security model is two stacked controls — a trusted network boundary (a Tailscale tailnet by default) and a shared bearer token — described in full in docs/security.md.

In scope (please report):

  • Auth bypass: reaching any endpoint without a valid token, token leakage in logs/output, timing or comparison weaknesses in token checks.
  • The tailnet ACL failing open, or being bypassable via spoofed headers.
  • SQL injection, path traversal escaping a worker's mount_roots, or any way to make a worker run something a token-holder could not have run via the documented API.
  • Privilege escalation beyond the worker user, or escape from the systemd-run resource scope.

Out of scope (these are documented, accepted properties — see docs/security.md "What this DOESN'T defend against"):

  • Arbitrary command/env/cwd execution by an authenticated token-holder.
  • A compromised tailnet node, or an attacker holding both a tailnet position and the token.
  • Denial of service by a token-holder (unbounded queue/log growth).

Supported versions

jobd is pre-1.0; security fixes land on the latest release. Pin a version and watch releases for advisories.

There aren't any published security advisories