Deserialization Vulnerability Remediation with Automated Gadget Chain Discovery
summary
Claims an approach that automatically finds real exploitable chains across an entire Java classpath and ships as a FOSS toolkit called Gadget Inspector. It analyzes bytecode with simple symbolic execution, reports sequences of method calls from magic deserialization entry points (e.g. equals via HashMap), and finds deep surprises—a 12‑step gadget spanning seven libraries, RC E chains in the closure library, and RCE reachable in ~30 minutes against an app with a 200MB classpath using Jackson.
AI-written summary · about
chapters (17)
- 0:00Intro
- 0:40Deserialization Gadget Chains
- 2:31What is a Deserialization Vulnerability? In object oriented languages (like Java), data is contained in classes and classes contain code.
- 7:40Magic Methods? • readObject() and readResolve() are the main ones...
- 8:26Magic Methods to Gadget Chains
- 9:55Example Payload
- 11:51Finding Vulnerabilities • Finding potential vulnerabilities is similar to finding many application security issues
- 12:32Remediation Options • Why not use a better serialization strategy? "It's 2016, there are better options." -Luca Carettoni
- 15:01Finding Exploits
- 19:22Gadget Inspector • Operates on any given classpath, i.e. a particular library or an entire war • Reports discovered gadget chains as a sequence of method invocations • Performs some simplistic symbolic execution to understand possible dataflow from method arguments to subsequent method invocations • Makes a lot of simplifying assumptions that make code analysis easy
- 20:49How Does It Work?
- 22:55Deserialization Library Flexibility
- 24:35New Gadget Chains: Clojure org.clojure clojure 6th most popular maven dependency
- 25:44New Gadget Chains: Scala
- 27:24Results: Netflix Internal Webapp 1
- 29:48Results: Netflix Internal Webapp 2
- 31:39Final Thoughts • Automatic discovery for gadget chains is new territory
related talks
35mHow To Find The Next Great Deserialization CVE
34mODDFuzz: Hunting Java Deserialization Gadget Chains via Structure-Aware Directed Greybox Fuzzing
51mNew Exploit Technique In Java Deserialization Attack
37mDeserialization in Java - is there still anything to fear?
56mThe Anatomy of Java Vulnerabilities
49mFixing the Unfixable: Solving Pervasive Vulnerabilities with RASP
49mThe Anatomy of Java Vulnerabilities
40m[In]secure Deserialization, And How [Not] To Do It
