In Apache Batik 1.x before 1.10, when deserializing subclass of `AbstractDocument`, the class takes a string from the inputStream as the class name which then use it to call the no-arg constructor of the class. Fix was to check the class type before calling newInstance in deserialization.
https://xmlgraphics.apache.org/security.html
https://www.oracle.com/technetwork/security-advisory/cpujul2019-5072835.html
https://www.oracle.com/technetwork/security-advisory/cpujan2019-5072801.html
https://www.oracle.com/technetwork/security-advisory/cpuapr2019-5072813.html
https://www.oracle.com/security-alerts/cpuoct2020.html
https://www.oracle.com/security-alerts/cpujul2020.html
https://www.debian.org/security/2018/dsa-4215
https://usn.ubuntu.com/3661-1/
https://security.gentoo.org/glsa/202401-11
https://lists.debian.org/debian-lts-announce/2018/05/msg00016.html
http://www.securitytracker.com/id/1040995
http://www.securityfocus.com/bid/104252
http://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html