The vulnerability stems from unsafe deserialization via ObjectInputStream without type validation. The commit adds DelegatingSerializationFilter to readObject() methods across multiple classes to restrict allowed classes. The presence of these patches directly indicates that the original implementations in these locations performed deserialization without proper input validation. Files like OIDCFilterSessionStore.java and CatalinaSessionTokenStore.java show added readObject() methods with validation, implying prior insecure implementations. Similarly, KerberosSerializationUtils.java modified its deserialization logic to include filtering. These locations would have been entry points for malicious serialized objects before the fix.