5.1.5 Ensure Appropriate Permissions Are Enabled for System Wide Applications

Information

Applications in the System Applications Directory (/Applications) should be world-executable since that is their reason to be on the system. They should not be world-writable and allow any process or user to alter them for other processes or users to then execute modified versions.

Some application vendors use a world-writable folder for their applications. This is against the standard practice on POSIX systems. If your organization is using an application that does not follow standard practices, you can add the application to the exclusion list in the audit and remediation (ie. the way Xcode is excluded with the grep -v Xcode.app command). It is also recommended that you alert the vendor that their application should be updated to follow security best practices.

Unauthorized modifications of applications could lead to the execution of malicious code.

Solution

Terminal Method:

Run the following command to change the permissions for each application that does not meet the requirements:

% IFS=$'\n'
for apps in $( /usr/bin/sudo /usr/bin/find /System/Volumes/Data/Applications -iname "*\.app" -type d -perm -2 | grep -v Xcode.app ); do
/usr/bin/sudo /bin/chmod -R o-w "$apps"
done

Note: Global changes should not be performed where mission-critical applications are part of the improperly permissioned applications.

Impact:

Applications changed will no longer be world-writable. Depending on the environment, there will be different risk tolerances on each non-conforming application. Global changes should not be performed where mission-critical applications are misconfigured.

See Also

https://workbench.cisecurity.org/benchmarks/24638

Item Details

Category: ACCESS CONTROL, MEDIA PROTECTION

References: 800-53|AC-3, 800-53|AC-5, 800-53|AC-6, 800-53|MP-2, CSCv7|14.6

Plugin: Unix

Control ID: 19a2605de04eae910e8ddc9666a0e50cd9d730e98a1c446d2fcbaf9311ff3a99