The interpreter and the Just-In-Time (JIT) compiler are two core components of modern JavaScript engines, both of which take bytecodes as input. Most bugs in these components are closely related to specific bytecodes. Therefore, effective fuzzing should pay close attention to how bytecode is generated and exercised. However, previous work fails to consider this aspect and instead focuses primarily on the syntactic and semantic validity of test cases. This causes two major issues: 1) certain bytecodes are never exercised during fuzzing; 2) some bytecodes are exercised infrequently. In this paper, we propose BCFuzz, a bytecode-driven fuzzing approach designed to enhance the diversity of generated bytecode and increase testing opportunities for low-frequency bytecodes. Specifically, we introduce a parser-oriented probing technique to identify the necessary conditions for generating specific bytecodes and use this information to enhance the input generation process. To better test low-frequency bytecodes, we propose bytecode-aware seed preservation, scheduling, and mutation strategies. We evaluate BCFuzz on four mainstream JavaScript engines. In 72 hours of testing, BCFuzz discovers 1.73$\times$ and 1.67$\times$ more bugs than DIE and Fuzzilli, respectively. In total, BCFuzz uncovered 21 previously unknown bugs. Of these, 17 have already been fixed and one has been assigned a CVE. All the discovered bugs are related to bytecodes.
Wed 19 NovDisplayed time zone: Seoul change
14:00 - 15:30 | Fuzzing 2Research Papers / Journal-First at Grand Hall 2 Chair(s): Kevin Borgolte Ruhr University Bochum | ||
14:00 10mTalk | Terminator: enabling efficient fuzzing of closed-source GUI programs by automatic coverage-guided termination Research Papers | ||
14:10 10mTalk | Function Clustering-Based Fuzzing Termination: Toward Smarter Early Stopping Research Papers Liang Ding University of Science and Technology of China, Wenzhang Yang Institute of AI for industries, Yinxing Xue Institute of AI for Industries, Chinese Academy of Sciences | ||
14:20 10mTalk | Risk Estimation in Differential Fuzzing via Extreme Value Theory Research Papers Rafael Baez University of Texas at El Paso, Alejandro Olivas University of Texas at El Paso, Nathan K Diamond University of Texas at El Paso, Marcelo F. Frias Dept. of Software Engineering Instituto Tecnológico de Buenos Aires, Yannic Noller Ruhr University Bochum, Saeid Tizpaz-Niari University of Illinois Chicago | ||
14:30 10mTalk | BCFuzz: Bytecode-Driven Fuzzing for JavaScript Engines Research Papers Jiming Wang SKLP, Institute of Computing Technology, CAS & University of Chinese Academy of Sciences, Chenggang Wu Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences; Zhongguancun Laboratory, Jikai Ren SKLP, Institute of Computing Technology, CAS & University of Chinese Academy of Sciences, Yuhao Hu SKLP, Institute of Computing Technology, CAS & University of Chinese Academy of Sciences, Yan Kang Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Xiaojie Wei SKLP, Institute of Computing Technology, CAS, Yuanming Lai Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Mengyao Xie SKLP, Institute of Computing Technology, CAS, Zhe Wang Institute of Computing Technology at Chinese Academy of Sciences; Zhongguancun Laboratory | ||
14:40 10mTalk | LSPFuzz: Hunting Bugs in Language Servers Research Papers Hengcheng Zhu The Hong Kong University of Science and Technology, Songqiang Chen The Hong Kong University of Science and Technology, Valerio Terragni University of Auckland, Lili Wei McGill University, Yepang Liu Southern University of Science and Technology, Jiarong Wu , Shing-Chi Cheung Hong Kong University of Science and Technology DOI Pre-print | ||
14:50 10mTalk | TEPHRA: Principled Discovery of Fuzzer Limitations Research Papers Vasil Sarafov μCSRL, CODE Research Institute, University of the Bundeswehr Munich, David Markvica μCSRL, CODE Research Institute, University of the Bundeswehr Munich, Stefan Brunthaler Munich Computer Systems Research Laboratory (uCSRL), CODE Research Institute, University of the Bundeswehr Munich | ||
15:00 10mTalk | Learning-Guided Fuzzing for Testing Stateful SDN Controllers Journal-First Raphaël Ollando University of Luxembourg, Seung Yeob Shin University of Luxembourg, Lionel Briand University of Ottawa, Canada; Lero centre, University of Limerick, Ireland | ||
15:10 10mTalk | Learning from the Past: Real-World Exploit Migration for Smart Contract PoC Generation Research Papers Kairan Sun Nanyang Technological University, Zhengzi Xu Imperial Global Singapore, Kaixuan Li Nanyang Technological University, Lyuye Zhang Nanyang Technological University, Yebo Feng Nanyang Technological University, Daoyuan Wu Lingnan University, Yang Liu Nanyang Technological University | ||
15:20 10mTalk | RCFuzzer: Recommendation-based Collaborative Fuzzer Journal-First Link to publication | ||