Katalog CWE

CWE-498 · Słabość

Cloneable Class Containing Sensitive Information

Abstrakcja
Wariant
Status
Szkic
Ryzyko wykorzystania
średnie
Dodano
19 lipca 2006
Ostatnia zmiana
11 grudnia 2025

Podatności CVE z tą słabościąPełny wpis na cwe.mitre.org ↗

Opis

The code contains a class with sensitive data, but the class is cloneable. The data can then be accessed by cloning the class.

Cloneable classes are effectively open classes, since data cannot be hidden in them. Classes that do not explicitly deny cloning can be cloned by any other class without running the constructor.

Skutki

  • Access Control

    Bypass Protection Mechanism

    A class that can be cloned can be produced without executing the constructor. This is dangerous since the constructor may perform security-related checks. By allowing the object to be cloned, those checks may be bypassed.

Zapobieganie

  • Implementation

    If you do make your classes clonable, ensure that your clone method is final and throw super.clone().

Słabość nadrzędna

Może prowadzić do

Kiedy powstaje

Dotyczy

Object-Oriented, C++, Java, C#

Źródła

  1. The CLASP Application Security Process — Secure Software, Inc., 2005

Wpis z katalogu CWE 4.20.