Repository navigation
hisn 0.2.2
Fixed
- User name inside the sandbox. 0.2.1 took the name for
/etc/passwdand
/etc/groupfrom$USER, which a scrubbed launch environment (Wakil,
env -i) does not have, soid -unandecho $USERshoweduser. The name
now comes fromgetpwuid_r(geteuid())(fallbackuseronly if the lookup
fails or the name is unusable;hisn run -vlogs why).
Changed
USERandLOGNAMEare set in the sandbox environment, computed from that
name, likeHOME: never copied from the host environment, andenv.pass,
env.setandexecrequests cannot override them (anexecrequest naming
them is refused as a computed name). POLICY-SPEC and DESIGN §8 updated.
A 0.2.1 policy yields the same mount plan. Differences: the two new
variables; the content of the generated/etc/passwd//etc/group(host
login name instead of the placeholderuserunder a scrubbed launch
environment); a policy that setUSER/LOGNAMEnow loses to the computed
value. Session start now queries the host user database once
(getpwuid_r), which can be slow with an unreachable network backend.
Tests
- Leak test L1c (
id -un,$USER,$LOGNAME,getent passwdshow the host
user, also for a session started underenv -i); unit tests for the lookup
and fallback, stub generation and the computed names.
The leak suite (L1-L24) passed on Ubuntu 22.04 and 24.04 x86_64 CI runners for this exact commit before these binaries were built; the aarch64 binary is built and started () but has not been leak-tested. Binaries are dynamically linked against glibc and built natively on Ubuntu 22.04 (glibc 2.35 or newer required). Verify with sha256sum -c SHA256SUMS. See README, "Verifying a build".