Description
The Linuxulator determined whether a binary was set-user-ID or set-group-ID by checking the P_SUGID process flag. During execve(2), this flag is not yet set at the point where the auxiliary vector is constructed, so AT_SECURE was incorrectly set to zero for set-user-ID and set-group-ID executables. An unprivileged local user can inject a shared library via LD_PRELOAD into a set-user-ID or set-group-ID Linux binary, gaining the privileges of that binary.
Problem types
CWE-266: Incorrect Privilege Assignment
Product status
15.0-RELEASE (release) before p10
14.4-RELEASE (release) before p6
14.3-RELEASE (release) before p15
Credits
Minseong Kim of NSHC Red Alert Labs
References
security.freebsd.org/advisories/FreeBSD-SA-26:30.linux.asc