You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(suidhelper): source device binaries from config, drop caller --bin
The unprivileged node used to pass `--bin <path>` to the setuid helper for
every losetup/dmsetup/blockdev op. Letting the caller name the binary the
helper escalates to run is a needless trust hole, even with SafeBin checks.
Move the paths into the helper-owned config (/etc/hyper/config.toml) with
sane defaults (/usr/sbin/{losetup,dmsetup,blockdev}); the helper validates
each as a SafeBin (absolute, root-owned, non-writable, exact basename) at
dispatch, as the real uid, before acquiring root. The `--bin` argument is
gone from both sides.
Also:
- Add a `dmsetup targets` op so the dm-target readiness probe runs through
the helper (it opens /dev/mapper/control, which needs root) instead of
shelling dmsetup directly as the BEAM user.
- An absent config file now falls back to the built-in defaults (trusted,
compiled into the root-owned binary); a present-but-untrusted file stays
fatal. Drop the Elixir-side *_path config and per-tool presence checks.
- Add :mix to the dialyzer PLT so the Mix tasks resolve Mix.raise/shell.
0 commit comments