Skip to main navigation Skip to search Skip to main content

FuzzJIT: Oracle-enhanced fuzzing for JavaScript engine JIT compiler

  • Junjie Wang
  • , Zhiyi Zhang
  • , Shuang Liu
  • , Xiaoning Du
  • , Junjie Chen

Research output: Chapter in Book/Report/Conference proceedingConference PaperResearchpeer-review

Abstract

We present a novel fuzzing technique, FuzzJIT, for exposing JIT compiler bugs in JavaScript engines, based on our insight that JIT compilers shall only speed up the execution but never change the execution result of JavaScript code. FuzzJIT can activate the JIT compiler for every test case and acutely capture any execution discrepancy caused by JIT compilers. The key to success is the design of an input wrapping template, which proactively activates the JIT compiler and makes the generated samples oracle-aware themselves and the oracle is tested during execution spontaneously. We also design a set of mutation strategies to emphasize program elements promising in revealing JIT compiler bugs. FuzzJIT drills to JIT compilers and at the same time retains the high efficiency of fuzzing. We have implemented the design and applied the prototype to find new JIT compiler bugs in four mainstream JavaScript engines. In one month, ten, five, two, and 16 new bugs are exposed in JavaScriptCore, V8, SpiderMonkey, and ChakraCore, respectively, with three demonstrated exploitable.

Original languageEnglish
Title of host publicationProceedings of the 32nd USENIX Security Symposium
EditorsJoe Calandrino, Carmela Troncoso
Place of PublicationCA USA
PublisherThe USENIX Association
Pages1865-1882
Number of pages18
Volume3
ISBN (Electronic)9781713879497, 9781939133373
Publication statusPublished - 2023
EventUSENIX Security Symposium 2023 - Anaheim, United States of America
Duration: 9 Aug 202311 Aug 2023
Conference number: 32nd
https://dl.acm.org/doi/proceedings/10.5555/3620237 (Proceedings)
https://www.usenix.org/conference/usenixsecurity23/glance (Website)

Conference

ConferenceUSENIX Security Symposium 2023
Abbreviated titleUSENIX 2023
Country/TerritoryUnited States of America
CityAnaheim
Period9/08/2311/08/23
Internet address

Cite this