Apple QuickTime TeXML Buffer Overflow

June 29, 2012

QuickTime is an extensible proprietary multimedia framework developed by Apple Inc., capable of handling various formats of digital video, picture, sound, panoramic images, and interactivity. The classic version of QuickTime is available for Windows XP and later, as well as Mac OS X Leopard and later operating systems. Apple QuickTime supports a number of native file formats to store images, audio, and movies such as .mov for movies and .pct for image files.

TeXML has been developed as an OpenSource project with the aim to automatically present XML data as PDF with sophisticated layout properties. An example of an XML document, which has already been transformed into the TeXML structure:

  	 		documentclass[a4paper]{article} 		usepackage[latin1]{inputenc} 		usepackage[T1]{fontenc} 	 	 		Misinterpretation of special characters as being functional characters is called "Escaping", thus: $, ^, > 	  

QuickTime TeXML has a specific format for constructing 3GPP-compliant timed text tracks in a QuickTime movie file. The following example demonstrates a typical TeXML file:

    	 		 			 		 		 			 			 			This is a simple run of text. 			 		 	  

A stack buffer overflow has been discovered in Apple QuickTime. One of the strings provided in the XML file is copied to a fixed length stack buffer without prior verification of the string length. A remote attacker can exploit this vulnerability to execute arbitrary codes in the context of the vulnerable application.

Dell SonicWALL UTM team has researched this vulnerability and released the following IPS signatures to protect their customers.

  • IPS: 8056 Apple QuickTime TeXML Handling Buffer Overflow 1
  • IPS: 8057 Apple QuickTime TeXML Handling Buffer Overflow 2

The vulnerability has been referred as by CVE as CVE-2012-0663.