CVE-2024-23746 Overview
CVE-2024-23746 is a critical Code Injection vulnerability affecting Miro Desktop version 0.8.18 on macOS. The vulnerability allows local attackers to inject malicious Electron code through a complex multi-step exploitation process that bypasses macOS security controls. Specifically, the attack circumvents the kTCCServiceSystemPolicyAppBundles requirement through a series of file system manipulations involving file copying, directory renaming, ASAR archive modification, and subsequent restoration of the original directory structure.
This vulnerability is classified under CWE-94 (Improper Control of Generation of Code), indicating that the application fails to properly validate or sanitize code that is dynamically generated or executed within the Electron framework.
Critical Impact
Successful exploitation enables attackers to execute arbitrary code within the context of the Miro Desktop application, potentially leading to complete compromise of user data, credential theft, and persistent access to the affected macOS system.
Affected Products
- Miro Desktop version 0.8.18 on macOS
- Apple macOS (as the underlying platform)
Discovery Timeline
- 2024-02-02 - CVE-2024-23746 published to NVD
- 2025-06-04 - Last updated in NVD database
Technical Details for CVE-2024-23746
Vulnerability Analysis
The vulnerability exploits weaknesses in how Miro Desktop handles its Electron application bundle on macOS. Electron applications package their source code in ASAR (Atom Shell Archive) archives, which can be extracted, modified, and repackaged if proper protections are not in place.
The attack leverages the Transparency, Consent, and Control (TCC) framework bypass on macOS. The kTCCServiceSystemPolicyAppBundles protection normally prevents unauthorized modifications to application bundles. However, by performing a specific sequence of file system operations—copying the application, renaming the app.app/Contents directory, modifying the ASAR archive to inject malicious code, and renaming the directory back—an attacker can circumvent these protections.
This exploitation technique is documented in the HackTricks MacOS Process Abuse resource as a known method for injecting code into Electron applications on macOS.
Root Cause
The root cause stems from insufficient validation of the application bundle integrity at runtime and the Electron framework's susceptibility to ASAR archive tampering. When the modified Miro Desktop application is launched, it executes the injected malicious code with the same privileges as the legitimate application, including any TCC permissions previously granted by the user.
Additionally, the lack of code signing validation during the ASAR loading process allows tampered archives to be processed without triggering security alerts.
Attack Vector
The attack requires local access to the target macOS system and follows a multi-step process:
- File Copy: The attacker creates a copy of the Miro Desktop application bundle to a location where they have write permissions
- Directory Rename: The app.app/Contents directory is renamed to bypass TCC bundle protection monitoring
- ASAR Modification: The application's ASAR archive is extracted, malicious JavaScript code is injected, and the archive is repackaged
- Restore Structure: The directory is renamed back to app.app/Contents
- Execution: When the modified application launches, the injected code executes with full application privileges
The attacker can inject code that accesses sensitive data, captures user credentials, or establishes persistence on the compromised system. Technical details and proof-of-concept code are available in the GitHub Repository CVE-2024-23746.
Detection Methods for CVE-2024-23746
Indicators of Compromise
- Unexpected modifications to Miro Desktop application bundle files or ASAR archives
- Changes to the app.app/Contents directory structure or unusual renaming patterns
- Presence of unauthorized JavaScript files within the Electron application resources
- Modified file hashes for ASAR archives compared to legitimate Miro releases
Detection Strategies
- Monitor file system events for operations targeting /Applications/Miro.app/ and related Electron bundle directories
- Implement integrity monitoring to detect changes to application ASAR archives using hash comparisons
- Watch for suspicious process activity involving asar extraction or packing utilities
- Alert on applications running from non-standard locations with names similar to legitimate applications
Monitoring Recommendations
- Enable macOS Unified Logging and monitor for TCC-related events involving bundle modifications
- Deploy endpoint detection and response (EDR) solutions with behavioral analysis for Electron application tampering
- Configure SentinelOne to detect anomalous file operations within macOS application bundles
- Monitor for JavaScript execution within Electron applications that deviates from baseline behavior
How to Mitigate CVE-2024-23746
Immediate Actions Required
- Update Miro Desktop to the latest available version beyond 0.8.18
- Review application bundle integrity using code signing verification tools
- Audit systems for signs of compromise using the indicators listed above
- Restrict user permissions to modify application directories where feasible
Patch Information
Users should upgrade Miro Desktop to the latest version available. Verify the application signature after installation using macOS code signing utilities. Consult the Miro Company Overview page for official update channels and security guidance.
The Electron Blog CVE Statement provides additional context on Electron application security and recommended mitigations for this class of vulnerabilities.
Workarounds
- Enable macOS System Integrity Protection (SIP) to prevent unauthorized modifications to system applications
- Configure file system permissions to restrict write access to application bundle directories
- Use application whitelisting solutions to prevent execution of tampered Electron applications
- Consider deploying applications to protected system directories rather than user-writable locations
# Verify application code signing integrity
codesign --verify --deep --strict /Applications/Miro.app
# Check for recent modifications to application bundle
find /Applications/Miro.app -type f -mtime -7 -ls
# Enable macOS firewall and restrict network access for untrusted applications
/usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.


