Fortinet Discovers macOS QuartzCore Handling Shape Object Memory Corruption Vulnerability in CA::Render::Decoder::decode_shape


Fortinet's FortiGuard Labs has discovered a Memory Corruption vulnerability in macOS QuartzCore.

QuartzCore, also known as CoreAnimation, is a framework used by macOS and iOS to build an animatable scene graph. QuartzCore uses a unique rendering model where the graphics operations are run in a separate process. On macOS, the process is WindowServer. On iOS, the process is backboard. Both of these process are out of sandbox and have the right to call setuid. The service named in QuartzCore is usually referenced as CARenderServer. This service exists in both macOS and iOS and can be accessed from the Safari Sandbox.

There exists a Memory Corruption vulnerability when QuartzCore handles shape object in the function CA::Render::Decoder::decode_shape(). It may lead to unexpected application termination.


Users should apply the solution provided by Apple.


Fortinet reported the vulnerability to Apple on January 3, 2019.

Apple confirmed the vulnerability on March 20, 2019.

Apple patched the vulnerability on March 25, 2019.


This vulnerability was discovered by Kai Lu of Fortinet's FortiGuard Labs.

IPS Subscription

Fortinet customers who subscribe to Fortinet's intrusion prevention (IPS) service should be protected against this vulnerability with the appropriate configuration parameters in place. Fortinet's IPS service is one component of FortiGuard Subscription Services, which also offer comprehensive solutions such as antivirus, Web content filtering and antispam capabilities. These services enable protection against threats on both application and network layers. FortiGuard Services are continuously updated by FortiGuard Labs, which enables Fortinet to deliver a combination of multi-layered security intelligence and true zero-day protection from new and emerging threats. These updates are delivered to all FortiGate, FortiMail and FortiClient products. Fortinet strictly follows responsible disclosure guidelines to ensure optimum protection during a threat's lifecycle.