CWEweakness

CWE-608 Struts: Non-private Field in ActionForm Class

Official page ↗
Abstraction
Variant
Structure
Simple
Status
Draft
Languages
Java
CWE version
5.0

Description

The product uses an ActionForm class that contains a field that has not been declared private.

Common consequences

• Integrity, Confidentiality: Modify Application Data, Read Application Data — A field that is not declared private can be accessed without using a setter or getter.

Potential mitigations

• [Implementation] Make all fields private. Use getter to get the value of the field. Setter should be used only by the framework; setting an action form field from other actions is bad practice and should be avoided.

Detection methods

• Automated Static Analysis: Automated static analysis, commonly referred to as Static Application Security Testing (SAST), can find some instances of this weakness by analyzing source code (or binary/compiled code) without having to execute it. Typically, this is done by building a model of data flow and control flow, then searching for potentially-vulnerable patterns that connect "sources" (origins of input) with "sinks" (destinations where the data interacts with external components, a lower layer such as the OS, etc.)

Related

Child of · CWE (1)

  • CWE-732 Incorrect Permission Assignment for Critical Resource weakness