I think the issue is that SIP is supposed to be like “beyond root”.
Because many installs (heck, going to a page with invalid cert in Safari!) ask for an admins password to install, which gives escalated privileges up to root.
So they added a level that requires higher than root access.
With this vulnerability, someone typing their password could allow beyond root privileges.
That is my simplified parsing of things.
Note - I didn’t read the article. I’m not in security. But I did live with Dan Kaminsky for close to 5 years. RIP :/
The problem with SIP though is that this higher than root access is not accessible to the user, only to Apple. You can turn it off completely but there is no way to make your own changes. It's trust Apple 100% or nothing.
In contrast, alternative OSes implementations of mandatory access control do have a role that can be accessed by the user.
On macOS, certain system components are intended to be protected even if you have administrator/root access to the machine. The intent is that a rogue daemon running as root shouldn't be able to e.g. delete OS files or inject itself into the permissions database ("give me ALL THE PERMISSIONS") without your consent. This protection system is called SIP, or "System Integrity Protection". The bug in the blog post bypasses this protection and demos it by overwriting one of these protected files that is not usually modifiable by root.
You can easily disable SIP yourself, by rebooting into Recovery mode.
However, Apple Music may be part of the system. The system cannot be modified, it’s not permitted. You can download things that prevent this though by intercepting the key press.
That's the root of the issue. The service is meant to be used by a system component but didn't or couldn't check whether that was actually true and the failure to check properly was overlooked in the security review.
There's some history of similar problems where functionality offered by a privileged library was exposed to non-privileged users.
This isn't an apple-only issue though - before this system-level of authorization, there was suid binaries which could be abused because they didn't perform proper checking of user input.
But that was the entire point of SIP, wasn't it? To mitigate the impact of a compromised root account. If it doesn't work, then what's the point of going to all this effort in the first place?
Puts it in 'permissive' mode, i.e. 'audit but don't deny'. Disabling (i.e. no auditing either, no record) requires a reboot I believe (a change to kernel param).
Because many installs (heck, going to a page with invalid cert in Safari!) ask for an admins password to install, which gives escalated privileges up to root.
So they added a level that requires higher than root access.
With this vulnerability, someone typing their password could allow beyond root privileges.
That is my simplified parsing of things.
Note - I didn’t read the article. I’m not in security. But I did live with Dan Kaminsky for close to 5 years. RIP :/