Try the GraphicsFuzz Demo right from your browser!
GraphicsFuzz in the News
- [23 Apr. 2018] XDA: The Snapdragon Samsung Galaxy S9 has a GPU Stability Bug that can be Exploited to Trigger Remote Reboots
- [23 Apr. 2018] wccftech: Critical GPU Bug Capable of Triggering Reboots Found in Snapdragon Variants of the Samsung Galaxy S9/S9 Plus
- [28 Feb. 2018] Phoronix: GraphicsFuzz Demo Works On Fuzzing Your GPU Drivers Through WebGL In The Browser
- [17 Jan. 2018] Hackernoon (re-publication of our blog post): A tale of two Samsungs: ARM vs. Qualcomm in Android graphics
Comparative reliability of graphics drivers
Click on header to sort the table.
|Huawei Honor 10 (ARM)||0||10||0||10|
|Huawei Honor 9 Lite (ARM)||1||4||6||11|
|Samsung Galaxy S9 (ARM)||0||13||0||13|
|Apple iPhone 7 (Apple)||6||9||0||15|
|Apple iPhone 6 (Apple)||6||9||0||15|
|Samsung Galaxy S8 (ARM)||1||16||1||18|
|Samsung Galaxy S6 (ARM)||8||13||3||24|
|Apple iPhone X (Apple)||17||11||0||28|
|NVIDIA Shield TV (NVIDIA)||3||11||14||28|
|Apple iPhone 8 (Apple)||17||11||0||28|
|NVIDIA Shield Tablet (NVIDIA)||2||16||11||29|
|Samsung Galaxy S7 (ARM)||13||17||0||30|
|Huawei Honor 9 (ARM)||12||16||2||30|
|Samsung Galaxy S9 (Qualcomm)||4||27||0||31|
|Google Nexus Player (Imagination Technologies)||17||25||1||43|
|Samsung Galaxy S8 (Qualcomm)||6||37||0||43|
|Google Pixel 2 (Qualcomm)||4||45||0||49|
|Google Pixel 1 XL (Qualcomm)||6||43||1||50|
|Samsung Galaxy S7 (Qualcomm)||31||33||0||64|
Latest test results
The GraphicsFuzz Demo
Try our online Demo
Run our 60 second Demo right from your browser!
This web app showcases a range of graphics driver issues in phones, tablets, smart TVs. The tests were selected to highlight graphics driver issues especially on Android devices, yet it runs on any recent web-browser. How does your device score?
See the results that users are posting on Twitter by searching for #GraphicsFuzz.
ShaderTest GLES contains 3000 shaders crafted to stress-test OpenGL ES drivers.
- Find drivers bugs: crashes, errors, miscompilations
- Reduce bugs: our intelligent reducer creates minimal reproducion test cases
- dEQP integration: run ShaderTest within the official Khronos CTS
WebGL, OpenGL, Vulkan...
We can provide bespoke products to test drivers for various graphics APIs, including WebGL, OpenGL, and Vulkan.
The GraphicsFuzz technology has been publicly credited for detecting several vulnerabilities:
- CVE-2017-2424: Apple (iOS-Webkit), information disclosure
- CVE-2017-6259: Nvidia, denial of service
- Information stealing between Chrome tabs on Samsung S6 (received Google Chrome bug bounty: $2,000)
Blog and articles
Our series of blog posts describes our testing approach and illustrates results on all major GPU vendors. Start the series with the intro, or jump directly to a post:
GraphicsFuzz started as an academic research project by the Multicore Programming Group at Imperial College London. Check out our article published at the OOPSLA 2017 conference.
GraphicsFuzz testing framework
The GraphicsFuzz testing framework automatically exposes bugs in graphics drivers in a simple form that supports debugging.
Our key technology enables detection of bugs that lead to an incorrect image being rendered, often the symptom of a shader miscompilation. Rigorously testing for such bugs without our technology is extremely challenging, and so is typically not done. Thus, these bugs are released into production where they will eventually be found by end users and developers, leading to damaged reputation and, in some cases, severe security bugs.
Even after finding bugs using our technology, the process of fixing these bugs would normally be extremely time-consuming, requiring a huge number of developer-hours. Our intelligent reducer tool analyses the bugs and creates simplified bug reports that dramatically decrease the time needed to understand and fix the underlying bugs.
Our reducer is intelligent in two different ways:
- Our reducer is able to simplify inputs that trigger miscompilation by utilising information embedded in the input by our GraphicsFuzz framework.
- Our reducer is able to understand the semantics of the shader language, allowing for faster and more precise simplification than that which could be offered by any general-purpose reducer.