HomeFreeBSD

setusercontext(): Apply personal settings only on matching effective UID

Description

setusercontext(): Apply personal settings only on matching effective UID

Commit 35305a8dc114 (r211393) added a check on whether 'uid' was equal
to getuid() before calling setlogincontext(). Doing so still allows
a setuid program to apply resource limits and priorities specified in
a user-controlled configuration file ('~/.login_conf') where
a non-setuid program could not. Plug the hole by checking instead that
the process' effective UID is the target one (which is likely what was
meant in the initial commit).

PR: 271750
Reviewed by: kib, des
Sponsored by: Kumacom SAS
Differential Revision: https://reviews.freebsd.org/D40351

(cherry picked from commit 892654fe9b5a9115815c30a423b8db47185aebbd)

Approved by: markj (mentor)

Details

Provenance
olceAuthored on May 30 2023, 4:35 PM
Reviewer
kib
Differential Revision
D40351: setusercontext(): Apply user login context only on process' euid being set
Parents
rG6983b8c39ff3: login_cap.c: Don't set errno to ERANGE on memory allocation failure
Branches
Unknown
Tags
Unknown