TCC Bypass in Cursor's macOS Application
Low3.8CVE-2024-45599 · Published Sep 24, 2024
### Impact _What kind of vulnerability is it? Who is impacted?_ If a user on macOS has granted Cursor access to the camera or microphone, any program that is run on the machine is able to access the camera or the microphone without explicitly being granted access, through a DyLib Injection using the `DYLD_INSERT_LIBRARIES` environment variable. The usage of [com.apple.security.cs.allow-dyld-environment-variables](http://com.apple.security.cs.allow-dyld-environment-variables/) and [com.apple.security.cs.disable-library-validation](http://com.apple.security.cs.disable-library-validation/) allows an external dynamic library to be injected into the application using the `DYLD_INSERT_LIBRARIES` environment variable. Moreover, the entitlement [com.apple.security.device.camera](http://com.apple.security.device.camera/) allows the application to use the host camera and [com.apple.security.device.audio-input](http://com.apple.security.device.audio-input/) allows the application to use the microphone. This means that untrusted code that is executed on the user's machine can access the camera or the microphone, if the user has already given permission for Cursor to do so. ### Patches _Has...
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| Cursor Product | < 0.41.0 | 0.41.0 |
Details and references
### Impact _What kind of vulnerability is it? Who is impacted?_ If a user on macOS has granted Cursor access to the camera or microphone, any program that is run on the machine is able to access the camera or the microphone without explicitly being granted access, through a DyLib Injection using the `DYLD_INSERT_LIBRARIES` environment variable. The usage of [com.apple.security.cs.allow-dyld-environment-variables](http://com.apple.security.cs.allow-dyld-environment-variables/) and [com.apple.security.cs.disable-library-validation](http://com.apple.security.cs.disable-library-validation/) allows an external dynamic library to be injected into the application using the `DYLD_INSERT_LIBRARIES` environment variable. Moreover, the entitlement [com.apple.security.device.camera](http://com.apple.security.device.camera/) allows the application to use the host camera and [com.apple.security.device.audio-input](http://com.apple.security.device.audio-input/) allows the application to use the microphone. This means that untrusted code that is executed on the user's machine can access the camera or the microphone, if the user has already given permission for Cursor to do so. ### Patches _Has the problem been patched? What versions should users upgrade to?_ Yes. In 0.41.0, the entitlements have been split by process: the main process gets the camera and microphone entitlements, but not the DyLib entitlements, whereas the extension host process gets the DyLib entitlements but not the camera or microphone entitlements. ### Workarounds _Is there a way for users to fix or remediate the vulnerability without upgrading?_ Do not explicitly give Cursor the permission to access the camera or microphone if untrusted users can run arbitrary commands on your machine. ### References _Are there any links users can visit to find out more?_ The same issue was found in Telegram's macOS app in 2023. The following is a good writeup about it: https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/
- CVSS 3.1
- CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:L/I:N/A:N
- Severity from
- GitHub (reviewed advisory)
More Cursor advisories
All Cursor| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Jun 192025 | IDOR in Usage API Leading to Unauthorized Data Exposure | Medium4.3 | 2025-06-17 |
| Jun 192025 | IDOR in Usage Events API Lets Users Access Teammates' Activity Data | Medium4.3 | 2025-06-17 |
| Jun 112025 | Potential Information Leakage using JSON schema in Cursor Agent | Medium5.9 | 0.51.0 |
| Apr 72025 | Arbitrary file write from Cursor Agent through a prompt injection from malicious @Docs | High8.0 | 0.48.7+ |
| Nov 272024 | Any Team Member Can Access Billing Link | Low | Allversions |
| Oct 222024 | RCE via Prompt Injection Into Cursor's Terminal Cmd-K | High | Allversions |