Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

os_world_writable_library_folder_configure.yaml blocked by SIP? #445

Open
iamflaurian opened this issue Nov 6, 2024 · 7 comments
Open

Comments

@iamflaurian
Copy link

os_world_writable_library_folder_configure.yaml blocked by SIP

Steps to reproduce

I tried to set the "Ensure No World Writable Files Exist in the Library" by using the command from JCE with MDM (Script) and via terminal.

IFS=$'\n' for libPermissions in $( /usr/bin/find /System/Volumes/Data/Library -type d -perm -2 | /usr/bin/grep -v Caches | /usr/bin/grep -v /Preferences/Audio/Data ); do /bin/chmod -R o-w "$libPermissions" done

Operating System version

14.7.1 / 15.1 tested it on three different machines

Intel or Apple Silicon

Its just possible for me to test it with Apple Silicon devices

What is the current bug behavior?

For me its seems like its blocked by SIP (System Integrity Protection)

What is the expected correct behavior?

The command should set "0"

Relevant logs and/or screenshots

find: /System/Volumes/Data/Library/Trial: Operation not permitted
find: /System/Volumes/Data/Library/Management/Files/ProtectSudoersFile: Permission denied
find: /System/Volumes/Data/Library/Caches/com.apple.amsengagementd.classicdatavault: Operation not permitted
find: /System/Volumes/Data/Library/Caches/com.apple.aneuserd: Operation not permitted
find: /System/Volumes/Data/Library/Caches/com.apple.iconservices.store: Permission denied
find: /System/Volumes/Data/Library/Caches/com.apple.aned: Operation not permitted

@golbiga
Copy link
Collaborator

golbiga commented Nov 7, 2024

@iamflaurian how are you running this command?

@iamflaurian
Copy link
Author

Hey @golbiga

I add the command in various formats into a script that will be deployed using Jamf Pro. I did not touch it because it worked before updating the macOS versions. Please note, I test it also by using the command in terminal or in other various formats.

NoWorldWriteableFilesExistLibary=$(find /System/Volumes/Data/Library -type d -perm -2 -ls | grep -v Caches | grep -v /Preferences/Audio/Data | wc -l | xargs)

if [ "$NoWorldWriteableFilesExistLibary" != 0 ];
then
	IFS=$'\n'
	for libPermissions in $( find /System/Volumes/Data/Library -type d -perm -2 | grep -v Caches | grep -v /Preferences/Audio/Data );
	do
	chmod -R o-w "$libPermissions"
	printf "Set permissions for 5.1.7 Ensure No World Writable Files Exist in the Library\n" "$(date "+%Y-%m-%d %H:%M:%S")" "${ScriptName}"
	done
else
	printf "5.1.7 Ensure No World Writable Files Exist in the Library has already the permissions\n" "$(date "+%Y-%m-%d %H:%M:%S")" "${ScriptName}"
fi

@golbiga
Copy link
Collaborator

golbiga commented Nov 8, 2024

@iamflaurian so this is a CIS issue, I've let some folks know, but I would recommend opening a ticket with them (create an account on https://workbench.cisecurity.org - if you don't have one)

@iamflaurian
Copy link
Author

Does it mean, CIS has to remove these rule because of SIP block? I'll create an account and also a ticket :) Thanks @golbiga

@golbiga
Copy link
Collaborator

golbiga commented Nov 11, 2024

@iamflaurian actually we needed to update something on our side, which I will take care of today. We need to add 2>&1 to the find command.

@iamflaurian
Copy link
Author

Hey @golbiga
first of all, pretty appreciated you for answering my question. I would like add 2>&1 in find command will give the result "11" but does not mean the execution command to set the rule will set $libPermissions. (JFI: Ticket is already open)

@iamflaurian
Copy link
Author

CIS recommendation:
Audit:

% /usr/bin/sudo 
/usr/bin/find /Library -type d -perm -002 ! -perm -1000 ! -xattrname com.apple.rootless 2>/dev/null | /usr/bin/wc -l | /usr/bin/xargs

Fix:

/usr/bin/sudo IFS=$'\n'
for libPermissions in $(/usr/bin/find /Library -type d -perm -002 ! -perm -1000 ! -xattrname com.apple.rootless 2>/dev/null); do
  /bin/chmod -R o-w "$libPermissions"
done

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants