Netinfo Security ›› 2025, Vol. 25 ›› Issue (1): 1-12.doi: 10.3969/j.issn.1671-1122.2025.01.001

Previous Articles     Next Articles

Java Deserialization Vulnerability Mining Based on Fuzzing

WANG Juan1,2(), ZHANG Boxian1,2, ZHANG Zhijie1,2, XIE Haining1,2, FU Jintao3, WANG Yang3   

  1. 1. School of Cyber Science and Engineering, Wuhan University, Wuhan 430072, China
    2. Key Laboratory of Aerospace Information Security and Trusted Computing, Ministry of Education, Wuhan 430072, China
    3. Shandong Inspur Science Research Institute Co., Ltd., Jinan 250013, China
  • Received:2024-05-15 Online:2025-01-10 Published:2025-02-14
  • Contact: WANG Juan E-mail:jwang@whu.edu.cn

Abstract:

With the widespread adoption of deserialization technology in Java Web application development, attacks exploiting the Java deserialization mechanism have also increased significantly, posing severe threats to the security of Java Web applications. Current mainstream blacklisting defense mechanisms cannot defend against unknown deserialization vulnerabilities, and most existing Java deserialization vulnerability mining tools have low accuracy as they rely on static analysis. This paper proposed a Java deserialization vulnerability mining tool based on fuzzing called DSM-Fuzz. Firstly, DSM-Fuzz performed bidirectional taint analysis on bytecode to extract potential deserialization-related function call chains. Then a TrustRank algorithm-based strategy was used to evaluate relevance between functions and call chains, and allocated energy to seeds accordingly. To optimize syntax and semantics of test cases, this paper designed and implemented a seed mutation algorithm based on deserialization features, utilizing internal Java object information to guide fuzzing strategy to breakthrough vulnerability call chain paths. Experiments show that DSM-Fuzz achieves 90% higher vulnerability code coverage with 50% more detected vulnerabilities in several Java libraries, outperforming other tools. Thus, it can effectively facilitate Java deserialization vulnerability detection.

Key words: Java deserialization vulnerability, fuzzing, taint analysis, vulnerability mining, program call graph

CLC Number: