During the installation of the Native Access application, a privileged helper com.native-instruments.NativeAccess.Helper2, which is used by Native Access to trigger functions via XPC communication like copy-file, remove or set-permissions, is deployed as well. The communication with the XPC service of the privileged helper is only allowed if the client process is signed with the corresponding certificate and fulfills the following code signing requirement:
anchor trusted and certificate leaf[subject.CN] = Developer ID Application: Native Instruments GmbH (83K5EG6Z9V)
The Native Access application was found to be signed with the com.apple.security.cs.allow-dyld-environment-variables and com.apple.security.cs.disable-library-validation entitlements leading to DYLIB injection and therefore command execution in the context of this application. A low privileged user can exploit the DYLIB injection to trigger functions of the privileged helper XPC service resulting in privilege escalation by first deleting the /etc/sudoers file and then copying a malicious version of that file to /etc/sudoers.
The product searches for critical resources using an externally-supplied search path that can point to resources that are not under the product’s direct control.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Native_access | Native-instruments | * | 3.22.0 (including) |
This might allow attackers to execute their own programs, access unauthorized data files, or modify configuration in unexpected ways. If the product uses a search path to locate critical resources such as programs, then an attacker could modify that search path to point to a malicious program, which the targeted product would then execute. The problem extends to any type of critical resource that the product trusts. Some of the most common variants of untrusted search path are: