TL;DR
This paper provides an in-depth analysis of Java deserialization RCE exploits, examining how gadgets are introduced and patched in libraries and vulnerabilities in applications, revealing persistent unpatched issues and attack patterns.
Contribution
It offers the first large-scale empirical study of Java deserialization gadgets and vulnerabilities, highlighting how they are introduced, patched, and how long they persist.
Findings
37.5% of libraries remain unpatched, leaving gadgets exploitable.
Small code changes can introduce new gadgets.
Gadgets are often introduced through minor modifications like making classes public.
Abstract
Nowadays, an increasing number of applications uses deserialization. This technique, based on rebuilding the instance of objects from serialized byte streams, can be dangerous since it can open the application to attacks such as remote code execution (RCE) if the data to deserialize is originating from an untrusted source. Deserialization vulnerabilities are so critical that they are in OWASP's list of top 10 security risks for web applications. This is mainly caused by faults in the development process of applications and by flaws in their dependencies, i.e., flaws in the libraries used by these applications. No previous work has studied deserialization attacks in-depth: How are they performed? How are weaknesses introduced and patched? And for how long are vulnerabilities present in the codebase? To yield a deeper understanding of this important kind of vulnerability, we perform two…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
