Description
An unused validation form indicates that validation logic is not up-to-date.
Potential Impact
Other
Quality Degradation
Demonstrative Examples
public class RegistrationForm extends org.apache.struts.validator.ValidatorForm {
// private variables for registration form
private String name;private String address;private String city;private String state;private String zipcode;
// no longer using the phone form field
// private String phone;
private String email;
public RegistrationForm() {super();}
// getter and setter methods for private variables
...
}<form-validation>
<formset>
<form name="RegistrationForm">
<field property="name" depends="required"><arg position="0" key="prompt.name"/></field><field property="address" depends="required"><arg position="0" key="prompt.address"/></field><field property="city" depends="required"><arg position="0" key="prompt.city"/></field><field property="state" depends="required,mask"><arg position="0" key="prompt.state"/><var><var-name>mask</var-name><var-value>[a-zA-Z]{2}</var-value></var></field><field property="zipcode" depends="required,mask"><arg position="0" key="prompt.zipcode"/><var><var-name>mask</var-name><var-value>\d{5}</var-value></var></field><field property="phone" depends="required,mask"><arg position="0" key="prompt.phone"/><var><var-name>mask</var-name><var-value>^([0-9]{3})(-)([0-9]{4}|[0-9]{4})$</var-value></var></field><field property="email" depends="required,email"><arg position="0" key="prompt.email"/></field>
</form>
</formset>
</form-validation>Mitigations & Prevention
Remove the unused Validation Form from the validation.xml file.
Related Weaknesses
Taxonomy Mappings
- 7 Pernicious Kingdoms: — Struts: Unused Validation Form
Frequently Asked Questions
What is CWE-107?
CWE-107 (Struts: Unused Validation Form) is a software weakness identified by MITRE's Common Weakness Enumeration. It is classified as a Variant-level weakness. An unused validation form indicates that validation logic is not up-to-date.
How can CWE-107 be exploited?
Attackers can exploit CWE-107 (Struts: Unused Validation Form) to quality degradation. This weakness is typically introduced during the Implementation, Operation phase of software development.
How do I prevent CWE-107?
Key mitigations include: Remove the unused Validation Form from the validation.xml file.
What is the severity of CWE-107?
CWE-107 is classified as a Variant-level weakness (Low-Medium abstraction). Its actual severity depends on the specific context and how the weakness manifests in your application.