I wish they would just rename it something sufficiently ominous sounding that people wouldn't think about using it on untrusted data sources.
Maybe AribitraryCodeAndDataSerialization
I wish they would just rename it something sufficiently ominous sounding that people wouldn't think about using it on untrusted data sources.
Maybe AribitraryCodeAndDataSerialization
Be curious to do a Github wide grep for ObjectOutputStream or something similar and see what it's like in open source land.
As you can imagine, any sufficiently large codebase is likely to have a million different ways this can be leveraged to get arbitrary code execution.
Wait, what? Java serialization does not serialize and deserialize code. The only thing encoding behavior when serializing is class names. The receiving system needs to know those classes/be able to load them.
Apparently there are some vulnerabilities in the implementation, but they are not an inherent part of it as some people seem to think.
...but then, if the developer is writing custom deserialization code that does black magic (like, executing the equivalent of eval() on a content of a String field), any serialized format is affected, be it binary, JSON, YAML, etc