ObjectInputStream with Untrusted Data
Java applications use ObjectInputStream.readObject() to deserialize data from untrusted sources like network sockets, HTTP requests, or user-uploaded files. This allows attackers to craft malicious serialized objects that execute code during deserialization through gadget chains.