Context discovered two memory corruption issues related to Firefox code that processes WebGL, that could result in remote code execution via a malicious web page. Heap overflows make use of the WebGL shader compiler and the ANGLE library. Versions 4.0.1 and 5 are affected.
e2a6dbc735d5a7f645b6a0736a8b929cdad5127974443db6a2057209e4c009f7
===============================ADVISORY==============================
Systems Affected: Firefox
Severity: High
Category: Remote Code Execution
Author: Context Information Security Ltd
Reported to Vendor: 23rd March 2011
Advisory Issued: 19/8/2011
Reference: CVE-2011-2987, CVE-2011-2988
===============================ADVISORY==============================
Description
-----------
Context discovered two memory corruption issues related to Firefox code that processes WebGL, that could result in remote code execution via a malicious web page.
Analysis
--------
CVE-2011-2987 is a heap buffer overflow caused when an overly long string is passed to the WebGL shader compiler. When a long string is passed to the ShaderSource method on the exposed WebGL context interface it can result in memory corruption leading to either an invalid memcpy call or stack exhaustion.
CVE-2011-2988 is a heap buffer overflow due to incorrect reallocation in the ANGLE library shader pre-processor. By compiling a large program, with a significant amount of pre-processing elements an allocation can be made to fail which results in a pointer being aliased. Further code will then write to this pointer causing memory corruption.
The bugs were found during Contexts research into WebGL: http://www.contextis.co.uk/resources/blog/webgl/
Technologies Affected
---------------------
Firefox 4/4.0.1
Firefox 5
Vendor Response
---------------
Mozilla have resolved these issues in Firefox 6. For more details see:
http://www.mozilla.org/security/announce/2011/mfsa2011-29.html
Disclosure Timeline
-------------------
21st June 2011 Vendor Notification
16th August 2011 Patch Released in Firefox 6
Credits
--------
James Forshaw of Context Information Security Ltd
About Context Information Security
----------------------------------
Context Information Security is an independent security consultancy specialising in both technical security and information assurance services.
The company was founded in 1998. Its client base has grown steadily over the years, thanks in large part to personal recommendations from existing clients who value us as business partners. We believe our success is based on the value our clients place on our product-agnostic, holistic approach; the way we work closely with them to develop a tailored service; and to the independence, integrity and technical skills of our consultants.
The companys client base now includes some of the most prestigious blue chip companies in the world, as well as government organisations.
The best security experts need to bring a broad portfolio of skills to the job, so Context has always sought to recruit staff with extensive business experience as well as technical expertise. Our aim is to provide effective and practical solutions, advice and support: when we report back to clients we always communicate our findings and recommendations in plain terms at a business level as well as in the form of an in-depth technical report.
Web: www.contextis.co.uk
Email: disclosure@contextis.co.uk