834 B
834 B
- Protects apps against code injection via library hijacking, env vars, and task port injection.
- List app entitlements:
codesign -d --entitlements :- <file>- Poseidon:
list_entitlements - Look for any of the following:
com.apple.security.cs.disable-library-validation- Allows any dynlib to be loaded into the process
com.apple.security.cs.allow-dyld-environment-variables- Allows dynlibs to be loaded from
DYLD_INSERT_LIBRARIESenv var. - Code signing requirements still apply unless the previous setting is also applied.
- Injection:
DYLD_INSERT_LIBRARIES=malicious.dylib ./app
- Allows dynlibs to be loaded from
com.apple.security.get-task-allow- Allows other apps to get task port; similar to a handle on Windows. Accessing a task port requires root.
- Enables classic create thread process injection