This vulnerability occurs when a class's clone() method creates a new object directly instead of calling super.clone().
In Java, the proper way to implement the clone() method is to always start with a call to super.clone(). This call travels up the inheritance chain to Object.clone(), which performs the essential bitwise copy that establishes the correct object type and internal structure. Skipping this step and instantiating the object manually (e.g., using 'new') breaks the inherited cloning contract. When a parent class fails to call super.clone(), any subclass that inherits and uses its clone() method will receive an object of the parent's type, not its own. This causes a ClassCastException when the returned object is cast to the subclass type, leading to runtime failures. Adhering to the super.clone() convention ensures the cloning mechanism works correctly throughout the entire class hierarchy.
Impact: Unexpected StateQuality Degradation
java