Category: SEI CERT Oracle Secure Coding Standard for Java - Guidelines 05. Object Orientation (OBJ)

Stable
Summary

Weaknesses in this category are related to the rules and recommendations in the Object Orientation (OBJ) section of the SEI CERT Oracle Secure Coding Standard for Java.

Membership
IDNameDescription
CWE-374Passing Mutable Objects to an Untrusted MethodThe product sends non-cloned mutable data as an argument to a method or function.
CWE-375Returning a Mutable Object to an Untrusted CallerSending non-cloned mutable data as a return value may result in that data being altered or deleted by the calling function.
CWE-486Comparison of Classes by NameThe product compares classes by name, which can cause it to use the wrong class when multiple classes can have the same name.
CWE-491Public cloneable() Method Without Final ('Object Hijack')A class has a cloneable() method that is not declared final, which allows an object to be created without calling the constructor. This can cause the object to be in an unexpected state.
CWE-492Use of Inner Class Containing Sensitive DataInner classes are translated into classes that are accessible at package scope and may expose code that the programmer intended to keep private to attackers.
CWE-498Cloneable Class Containing Sensitive InformationThe code contains a class with sensitive data, but the class is cloneable. The data can then be accessed by cloning the class.
CWE-500Public Static Field Not Marked FinalAn object contains a public static field that is not marked final, which might allow it to be modified in unexpected ways.
CWE-766Critical Data Element Declared PublicThe product declares a critical variable, field, or member to be public when intended security policy requires it to be private.
CWE-1133Weaknesses Addressed by the SEI CERT Oracle Coding Standard for JavaCWE entries in this view (graph) are fully or partially eliminated by following the guidance presented in the online wiki that reflects that current rules and recommendations of the SEI CERT Oracle Coding Standard for Java.
Vulnerability Mapping Notes
Usage: Prohibited
Reasons: Category
Rationale:
This entry is a Category. Using categories for mapping has been discouraged since 2019. Categories are informal organizational groupings of weaknesses that can help CWE users with data aggregation, navigation, and browsing. However, they are not weaknesses in themselves.
Comment:
See member weaknesses of this category.