Description
On macOS systems, by utilizing a Launch Agent and loading the viscosity_openvpn process from the application bundle, it is possible to load a dynamic library with Viscosity's TCC (Transparency, Consent, and Control) identity. The acquired resource access is limited without entitlements such as access to the camera or microphone. Only user-granted permissions for file resources apply. Access to other resources beyond granted-permissions requires user interaction with a system prompt asking for permission. This issue was fixed in version 1.11.5 of Viscosity.
Problem types
CWE-276 Incorrect Default Permissions
Product status
Any version
Credits
Karol Mazurek - Afine Team
References
cert.pl/en/posts/2025/05/tcc-bypass/
www.sparklabs.com/viscosity/