Abstract
Every field in a form should be validated in the
corresponding validation form.
Description
Omitting validation for even a single input field may
allow attackers the leeway they need.
Unchecked input is the root cause of some of today's
worst and most common software security problems.
Cross-site scripting, SQL injection, and process control
vulnerabilities all stem from incomplete or absent input
validation. Although J2EE applications are not generally
susceptible to memory corruption attacks, if a J2EE
application interfaces with native code that does not
perform array bounds checking, an attacker may be able
to use an input validation mistake in the J2EE
application to launch a buffer overflow attack.
Some applications use the same ActionForm for more
than one purpose. In situations like this, some fields
may go unused under some action mappings. It is
critical that unused fields be validated too.
Preferably, unused fields should be constrained so that
they can only be empty or undefined. If unused fields
are not validated, shared business logic in an action
may allow attackers to bypass the validation checks that
are performed for other uses of the form.