Cisco Talos researchers discovered these vulnerabilities. Blog by Jon Munshaw.

Cisco Talos recently discovered multiple code execution vulnerabilities in the Nitro Pro PDF reader. Nitro PDF allows users to save, read, sign and edit PDFs on their computers. The software contains vulnerabilities that could allow adversaries to exploit a victim machine in multiple ways that would eventually allow them to execute code.

In accordance with our coordinated disclosure policy, Cisco Talos worked with Nitro Pro to ensure that these issues are resolved and that an update is available for affected customers.

Vulnerability details

Nitro Pro Indexed ColorSpace rendering code execution vulnerability (TALOS-2020-1070/CVE-2020-6116)

An arbitrary code execution vulnerability exists in the rendering functionality of Nitro Software, Inc.'s Nitro Pro 13.13.2.242. When drawing the contents of a page using colors from an indexed colorspace, the application can miscalculate the size of a buffer when allocating space for its colors. When using this allocated buffer, the application can write outside its bounds and cause memory corruption which can lead to code execution. A specially crafted document must be loaded by a victim in order to trigger this vulnerability.

Read the complete vulnerability advisory here for additional information.

Nitro Pro PDF ICCBased ColorSpace stroke color code execution vulnerability (TALOS-2020-1084/CVE-2020-6146)

An exploitable code execution vulnerability exists in the rendering functionality of Nitro Pro 13.13.2.242 and 13.16.2.300. When drawing the contents of a page and selecting the stroke color from an "ICCBased" colorspace, the application will read a length from the file and use it as a loop sentinel when writing data into the member of an object. Due to the object member being a buffer of a static size allocated on the heap, this can result in a heap-based buffer overflow. A specially crafted document must be loaded by a victim in order to trigger this vulnerability.

Read the complete vulnerability advisory here for additional information.

Nitro Pro PDF JPEG2000 stripe sub-sample decoding out-of-bounds write code execution vulnerability (TALOS-2020-1062/CVE-2020-6112)

An exploitable code execution vulnerability exists in the JPEG2000 Stripe Decoding functionality of Nitro Software, Inc.'s Nitro Pro 13.13.2.242 when decoding sub-samples. While initializing tiles with sub-sample data, the application can miscalculate a pointer for the stripes in the tile which allow for the decoder to write out-of-bounds and cause memory corruption. This can result in code execution. A specially crafted image can be embedded inside a PDF and loaded by a victim in order to trigger this vulnerability.

Read the complete vulnerability advisory herefor additional information.

Nitro Pro PDF object stream parsing number of objects remote code execution vulnerability (TALOS-2020-1063/CVE-2020-6113)

An exploitable vulnerability exists in the object stream parsing functionality of Nitro Software, Inc.'s Nitro Pro 13.13.2.242 when updating its cross-reference table. When processing an object stream from a PDF document, the application will perform a calculation in order to allocate memory for the list of indirect objects. Due to an error when calculating this size, an integer overflow may occur which can result in an undersized buffer being allocated. Later when initializing this buffer, the application can write outside its bounds which can cause a memory corruption that can lead to code execution. A specially crafted document can be delivered to a victim in order to trigger this vulnerability.

Read the complete vulnerability advisory here for additional information.

Nitro Pro XRefTable entry missing object code execution vulnerability (TALOS-2020-1068/CVE-2020-6115)

An exploitable vulnerability exists in the cross-reference table repairing functionality of Nitro Software, Inc.'s Nitro Pro 13.13.2.242. While searching for an object identifier in a malformed document that is missing from the cross-reference table, the application will save a reference to the object's cross-reference table entry inside a stack variable. If the referenced object identifier is not found, the application may resize the cross-reference table which can change the scope of its entry. Later when the application tries to reference a cross-reference entry via the stack variable, the application will access memory belonging to the recently freed table causing a use-after-free condition. A specially crafted document can be delivered by an attacker and loaded by a victim in order to trigger this vulnerability.

Read the complete vulnerability advisory here for additional information.

Versions tested

Talos tested and confirmed that Nitro Pro PDF, versions 13.13.2.242 and 13.16.2.300 are affected by these vulnerabilities.

Coverage

The following SNORTⓇ rules will detect exploitation attempts. Note that additional rules may be released at a future date and current rules are subject to change pending additional vulnerability information. For the most current rule information, please refer to your Firepower Management Center or Snort.org.

Snort Rules: 53114, 53115, 53948, 53949, 53990 - 53993, 54010, 54011, 54047, 54048