Apple Xcode CVE-2019-8840 Arbitrary Code Execution Vulnerability



Date Discovered

December 10, 2019


Apple Xcode is prone to an arbitrary code-execution vulnerability. Attackers can leverage this issue to execute arbitrary code in the context of the user running the application. Failed exploit attempts may result in a denial-of-service condition. Versions prior to Xcode 11.3 are vulnerable.

Technologies Affected

  • Apple Xcode 1.5
  • Apple Xcode 10
  • Apple Xcode 11
  • Apple Xcode 11.1
  • Apple Xcode 11.2
  • Apple Xcode 2.0
  • Apple Xcode 2.1
  • Apple Xcode 2.2
  • Apple Xcode 2.3
  • Apple Xcode 3.0
  • Apple Xcode 3.1
  • Apple Xcode 3.1.1
  • Apple Xcode 3.1.2
  • Apple Xcode 3.1.3
  • Apple Xcode 3.1.4
  • Apple Xcode 3.2.1
  • Apple Xcode 3.2.2
  • Apple Xcode 3.2.3
  • Apple Xcode 3.2.4
  • Apple Xcode 3.2.5
  • Apple Xcode 4.0.1
  • Apple Xcode 4.0.2
  • Apple Xcode 4.1.1
  • Apple Xcode 4.2
  • Apple Xcode 4.2.1
  • Apple Xcode 4.3
  • Apple Xcode 4.3.1
  • Apple Xcode 4.3.2
  • Apple Xcode 4.3.3
  • Apple Xcode 4.4
  • Apple Xcode 5.0
  • Apple Xcode 6.0.1
  • Apple Xcode 6.2
  • Apple Xcode 6.3
  • Apple Xcode 7.0
  • Apple Xcode 7.1
  • Apple Xcode 7.2
  • Apple Xcode 7.3
  • Apple Xcode 7.3.1
  • Apple Xcode 8
  • Apple Xcode 8.1
  • Apple Xcode 9
  • Apple Xcode 9.3
  • Apple Xcode 9.4
  • Apple Xcode 9.4.1
  • Apple macOS 10.12
  • Apple macOS 10.12.1
  • Apple macOS 10.12.2
  • Apple macOS 10.12.3
  • Apple macOS 10.12.4
  • Apple macOS 10.12.5
  • Apple macOS 10.12.6
  • Apple macOS 10.13
  • Apple macOS 10.13.1
  • Apple macOS 10.13.2
  • Apple macOS 10.13.3
  • Apple macOS 10.13.4
  • Apple macOS 10.13.5
  • Apple macOS 10.13.6
  • Apple macOS 10.14
  • Apple macOS 10.14.1
  • Apple macOS 10.14.2
  • Apple macOS 10.14.3
  • Apple macOS 10.14.4


Block external access at the network boundary, unless external parties require service.
If global access isn't needed, filter access to the affected computer at the network boundary. Restricting access to only trusted computers and networks might greatly reduce the likelihood of successful exploits.

Run all software as a nonprivileged user with minimal access rights.
To reduce the impact of latent vulnerabilities, run all applications with the minimal amount of privileges required for functionality.

Deploy network intrusion detection systems to monitor network traffic for malicious activity.
Deploy NIDS to monitor network traffic for signs of anomalous or suspicious activity. This includes but is not limited to requests that include NOP sleds and unexplained incoming and outgoing traffic. This may indicate exploit attempts or activity that results from successful exploits.

Do not accept or execute files from untrusted or unknown sources.
To reduce the likelihood of successful exploits, never handle files that originate from unfamiliar or untrusted sources.

Implement multiple redundant layers of security.
Since some of these issues may be leveraged to execute code, we recommend memory-protection schemes, such as nonexecutable stack/heap configurations and randomly mapped memory segments. This tactic may complicate exploits of memory-corruption vulnerabilities.

Evaluate read, write, and execute permissions on all newly installed software.
To limit exposure to these and other latent vulnerabilities, evaluate setgid and setuid settings on all installed applications.

Updates are available. Please see the references or vendor advisory for more information.



Pan ZhenPeng (@Peterpan0927) of Qihoo 360 Nirvan Team and Clang

© 1995- Symantec Corporation

Permission to redistribute this alert electronically is granted as long as it is not edited in any way unless authorized by Symantec Security Response. Reprinting the whole or part of this alert in any medium other than electronically requires permission from


The information in the advisory is believed to be accurate at the time of publishing based on currently available information. Use of the information constitutes acceptance for use in an AS IS condition. There are no warranties with regard to this information. Neither the author nor the publisher accepts any liability for any direct, indirect, or consequential loss or damage arising from use of, or reliance on, this information.

Symantec, Symantec products, Symantec Security Response, and are registered trademarks of Symantec Corp. and/or affiliated companies in the United States and other countries. All other registered and unregistered trademarks represented in this document are the sole property of their respective companies/owners.