USENIX Security2023Top-tier venue
GLeeFuzz: Fuzzing WebGL Through Error Message Guided Mutation
Hui Peng, Zhihao Yao, Ardalan Amiri Sani, Dave Tian, Mathias Payer
Abstract
WebGL is a set of standardized JavaScript APIs for GPU accelerated graphics. Security of the WebGL interface is paramount because it exposes remote and unsandboxed access to the underlying graphics stack (including the native GL libraries and GPU drivers) in the host OS. Unfortunately, applying state-of-the-art fuzzing techniques to the WebGL interface for vulnerability discovery is challenging because of (1) its huge input state space, and (2) the infeasibility of collecting code coverage across concurrent processes, closed-source libraries, and device drivers in the kernel. Our fuzzing technique, GLeeFuzz, guides input mutation by error messages instead of code coverage. Our key observation is that browsers emit meaningful error messages to aid developers in debugging their WebGL programs. Error messages indicate which part of the input fails (e.g., incomplete arguments, invalid arguments, or unsatisfied dependencies between API calls). Leveraging error messages as feedback, the fuzzer effectively expands coverage by focusing mutation on erroneous parts of the input. We analyze Chrome's WebGL implementation to identify the dependencies between error-emitting statements and rejected parts of the input, and use this information to guide input mutation. We evaluate our GLeeFuzz prototype on Chrome, Firefox, and Safari on diverse desktop and mobile OSes. We discovered 7 vulnerabilities, 4 in Chrome, 2 in Safari, and 1 in Firefox. The Chrome vulnerabilities allow a remote attacker to freeze the GPU and possibly execute remote code at the browser privilege.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 61a1489b-9949-4e9e-9ae9-bad7b91d9721Cited by top-tier papers9
- SoK: Prudent Evaluation Practices for FuzzingMoritz Schloegel, Nils Bars, Nico Schiller, Lukas Bernhard et al.S&P 2024 · 69 citations
- Logos: Log Guided Fuzzing for Protocol ImplementationsFeifan Wu, Zhengxiong Luo, Yanyang Zhao, Qingpeng Du et al.ISSTA 2024 · 13 citations
- FusionRender: Harnessing WebGPU's Power for Enhanced Graphics Performance on Web BrowsersWeichen Bi, Yun Ma, Yudong Han, Yifan Chen et al.WWW 2024 · 5 citations
- UPBEAT: Test Input Checks of Q# Quantum LibrariesTianmin Hu, Guixin Ye, Zhanyong Tang, Shin Hwei Tan et al.ISSTA 2024 · 4 citations
- DarthShader: Fuzzing WebGPU Shader Translators & CompilersLukas Bernhard, Nico Schiller, Moritz Schloegel, Nils Bars et al.CCS 2024 · 3 citations
Builds on11
- kAFL: Hardware-Assisted Feedback Fuzzing for OS KernelsSergej Schumilo, Cornelius Aschermann, Robert Gawlik, Sebastian Schinzel et al.USENIX Security 2017 · 324 citations
- MoonShine: Optimizing OS Fuzzer Seed Selection with Trace DistillationShankara Pailoor, Andrew Aday, Suman JanaUSENIX Security 2018 · 180 citations
- IMF: Inferred Model-based FuzzerHyungSeok Han, Sang Kil ChaCCS 2017 · 139 citations
- Origin-sensitive Control Flow IntegrityMustakimur Khandaker, Wenqing Liu, Abu Naser, Zhi Wang et al.USENIX Security 2019 · 71 citations
- APICraft: Fuzz Driver Generation for Closed-source SDK LibrariesCen Zhang, Xingwei Lin, Yuekang Li, Yinxing Xue et al.USENIX Security 2021 · 64 citations
Related papers
- Beyond the Surface: Towards Feature-Driven Fuzzing on the Chrome BrowserChaoyuan Peng, Muhui Jiang, Yajin Zhou, Lei WuISSTA 2026
- GraphFuzz: Library API Fuzzing with Lifetime-aware Dataflow GraphsHarrison Green, Thanassis AvgerinosICSE 2022 · 38 citations
- FREEDOM: Engineering a State-of-the-Art DOM FuzzerWen Xu, Soyeon Park, Taesoo KimCCS 2020 · 25 citations
- Fuzzing JavaScript Interpreters with Coverage-Guided Reinforcement Learning for LLM-Based MutationJueon Eom, Seyeon Jeong, Taekyoung KwonISSTA 2024 · 26 citations
- SoFi: Reflection-Augmented Fuzzing for JavaScript EnginesXiaoyu He, Xiaofei Xie, Yuekang Li, Jianwen Sun et al.CCS 2021 · 34 citations
