This vulnerability occurs when an Apache Struts ActionForm class exposes a field without declaring it as private. This allows other parts of the application to directly read or modify the field's data, bypassing the intended setter and getter methods.
In Struts, ActionForm classes are designed to encapsulate user-submitted form data. When a field is not declared private, it breaks this fundamental principle of encapsulation. Any component within the same package or other classes can directly access and alter the field's value, leading to unpredictable application behavior, corrupted data states, and a breakdown of the framework's data validation and population workflow. This direct access bypasses the critical logic within the setter and getter methods, such as input validation, data sanitization, or type conversion. As a result, attackers or even other application modules can inject malicious or malformed data directly into the object. To fix this, always declare all fields in ActionForm classes as private and ensure all external interactions occur through well-defined public getter and setter methods.
Impact: Modify Application DataRead Application Data
javajava