PatchFuzz: Patch Fuzzing for JavaScript Engines

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Wang, Junjie, Ma, Yuhan, Xie, Xiaofei, Du, Xiaoning, Zhang, Xiangwei
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912356278206464
author Wang, Junjie
Ma, Yuhan
Xie, Xiaofei
Du, Xiaoning
Zhang, Xiangwei
author_facet Wang, Junjie
Ma, Yuhan
Xie, Xiaofei
Du, Xiaoning
Zhang, Xiangwei
contents Patch fuzzing is a technique aimed at identifying vulnerabilities that arise from newly patched code. While researchers have made efforts to apply patch fuzzing to testing JavaScript engines with considerable success, these efforts have been limited to using ordinary test cases or publicly available vulnerability PoCs (Proof of Concepts) as seeds, and the sustainability of these approaches is hindered by the challenges associated with automating the PoC collection. To address these limitations, we propose an end-to-end sustainable approach for JavaScript engine patch fuzzing, named PatchFuzz. It automates the collection of PoCs of a broader range of historical vulnerabilities and leverages both the PoCs and their corresponding patches to uncover new vulnerabilities more effectively. PatchFuzz starts by recognizing git commits which intend to fix security bugs. Subsequently, it extracts and processes PoCs from these commits to form the seeds for fuzzing, while utilizing code revisions to focus limited fuzzing resources on the more vulnerable code areas through selective instrumentation. The mutation strategy of PatchFuzz is also optimized to maximize the potential of the PoCs. Experimental results demonstrate the effectiveness of PatchFuzz. Notably, 54 bugs across six popular JavaScript engines have been exposed and a total of $62,500 bounties has been received.
format Preprint
id arxiv_https___arxiv_org_abs_2505_00289
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle PatchFuzz: Patch Fuzzing for JavaScript Engines
Wang, Junjie
Ma, Yuhan
Xie, Xiaofei
Du, Xiaoning
Zhang, Xiangwei
Cryptography and Security
Software Engineering
Patch fuzzing is a technique aimed at identifying vulnerabilities that arise from newly patched code. While researchers have made efforts to apply patch fuzzing to testing JavaScript engines with considerable success, these efforts have been limited to using ordinary test cases or publicly available vulnerability PoCs (Proof of Concepts) as seeds, and the sustainability of these approaches is hindered by the challenges associated with automating the PoC collection. To address these limitations, we propose an end-to-end sustainable approach for JavaScript engine patch fuzzing, named PatchFuzz. It automates the collection of PoCs of a broader range of historical vulnerabilities and leverages both the PoCs and their corresponding patches to uncover new vulnerabilities more effectively. PatchFuzz starts by recognizing git commits which intend to fix security bugs. Subsequently, it extracts and processes PoCs from these commits to form the seeds for fuzzing, while utilizing code revisions to focus limited fuzzing resources on the more vulnerable code areas through selective instrumentation. The mutation strategy of PatchFuzz is also optimized to maximize the potential of the PoCs. Experimental results demonstrate the effectiveness of PatchFuzz. Notably, 54 bugs across six popular JavaScript engines have been exposed and a total of $62,500 bounties has been received.
title PatchFuzz: Patch Fuzzing for JavaScript Engines
topic Cryptography and Security
Software Engineering
url https://arxiv.org/abs/2505.00289