W wykładzie omawiamy ryzyka binarnej serializacji w Javie: dlaczego deserializacja z niezaufanych źródeł jest niebezpieczna (łańcuchy „gadget chain”, RCE), czym grożą specjalne metody takie jak
readObject i
readResolve, oraz jak się chronić (whitelisting, rezygnacja na rzecz
JSON/
XML, bezpieczne biblioteki takie jak
Jackson). Szczegółowo omówimy zgodność wersji klas i rolę pola
serialVersionUID, zachowanie przy
InvalidClassException, ograniczenia
transient/
static, wydajność, a także najlepsze praktyki i typowe błędy.