Thank you again for the prompt response and for sharing the additional information.
How would you expect that to work? Your plug-in is loaded into a system process. How can your daemon, as the XPC listener, identify which code within that process sent the XPC message. It’s conceptually impossible.
I acknowledge the limitation,I wouldn’t try to distinguish specific code within the process, since that isn’t feasible. Instead, I’d skip client validation for the authorization plug-in path. For other clients communicating with the daemon, I already enforce validation using proper identifiers and code-signing checks and works. Since the core logic is shared, the idea is to rely on those validated clients and bypass the check only for the authorization process.
Now I’d argue that defending yourself from rogue authorisation plug-ins is pointless, because if an attacker is in a position to install an authorisation plug-in the game is basically over, but that’s a policy question that’s firmly in your court.
I completely agree, if someone can install an authorization plug-in, they already have deep access. My intent was mainly to get confirmation and close for our internal security reference.considerations.
Thanks!
Topic:
App & System Services
SubTopic:
Processes & Concurrency
Tags: