macOS
TMA-MACOS14-5.4
Ensure the Sudo Timeout Period Is Set to Zero
Description
The sudo command allows the user to run programs as the root user. Working as the root user allows the user an extremely high level of configurability within the system. This control, along with the control to use a separate timestamp for each tty, limits the window where an unauthorized user, process, or attacker could utilize legitimate credentials that are valid for longer than required. The sudo command stays logged in as the root user for five minutes before timing out and re-requesting a password. This five-minute window should be eliminated since it leaves the system extremely vulnerable. This is especially true if an exploit were to gain access to the system, since they would be able to make changes as a root user.
How it is checked
Audit method: Shell command
v=$(/usr/bin/sudo -V 2>/dev/null) || exit 1
c=$(printf '%s\n' "$v" | /usr/bin/grep -c "Authentication timestamp timeout: 0.0 minutes")
o=$(/usr/bin/stat -f '%Su:%Sg' /etc/sudoers.d 2>/dev/null)
if [ "$c" -ge 1 ] && [ "$o" = root:wheel ]; then echo compliant; else echo "timeout-zero=$c owner=$o"; fi- Expected output
compliant
How it is fixed
Fix method: Guidance or infrastructure patch
Terminal Method: Run the following command to edit the sudo settings: % /usr/bin/sudo /usr/sbin/visudo -f /etc/sudoers.d/<configuration file name> example: % /usr/bin/sudo /usr/sbin/visudo -f /etc/sudoers.d/10_cissudoconfiguration Note: Unlike other Unix and/or Linux distros, macOS will ignore configuration files in the sudoers.d folder that contain a . so do not add a file extension to the configuration file. Add the line Defaults timestamp_timeout=0 to the configuration file. If /etc/sudoers.d/ is not owned by root or in the wheel group, run the following to change ownership and group: % /usr/bin/sudo /usr/sbin/chown -R root:wheel /etc/sudoers.d/
Properties
- Operating systems
- macos-14
- Tags
- macossonoma
- Reference
- CIS Apple macOS 14.0 Sonoma Benchmark v3.1.0 - 5.4 Ensure the Sudo Timeout Period Is Set to Zero
Check this host
Run this on a machine you are allowed to audit. The scan is read-only.
tmaegis scan --target macos