Umbra Wiki weakness weakness/CWE-583
Back to wiki

CWE-583 — finalize() Method Declared Public

provenance: imported · CWE: CWE-583

CWE-583: finalize() Method Declared Public

MITRE CWE weakness

Kind Weakness
Abstraction Variant
Status Incomplete
Likelihood of exploit

Description

The product violates secure coding principles for mobile code by declaring a finalize() method public.

A product should never call finalize explicitly, except to call super.finalize() inside an implementation of finalize(). In mobile code situations, the otherwise error prone practice of manual garbage collection can become a security threat if an attacker can maliciously invoke a finalize() method because it is declared with public access.

Common consequences

  • Confidentiality, Integrity, Availability: Alter Execution Logic, Execute Unauthorized Code or Commands, Modify Application Data

Mitigations

Implementation — If you are using finalize() as it was designed, there is no reason to declare finalize() with anything other than protected access.

References

  • CWE page: https://cwe.mitre.org/data/definitions/583.html
  • CWE list: https://cwe.mitre.org/data/index.html