• CWE-543: Use of Singleton Pattern Without Synchronization in a Multithreaded Context

Das Produkt verwendet das Singleton-Pattern bei der Erstellung einer Ressource in einer Multithreaded-Umgebung.

CWE-543: Use of Singleton Pattern Without Synchronization in a Multithreaded Context

CWE ID: 543
Name: Use of Singleton Pattern Without Synchronization in a Multithreaded Context

Beschreibung

Das Produkt verwendet das Singleton-Pattern bei der Erstellung einer Ressource in einer Multithreaded-Umgebung.

Erweiterte Beschreibung

Die Verwendung eines Singleton-Patterns ist möglicherweise nicht thread-safe.

Risikominderungsmaßnahmen

Maßnahme (Architecture and Design)

Effektivität: Unknown
Beschreibung: Nutzen Sie das Thread-Specific Storage Pattern. Siehe Referenzen.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Vermeiden Sie die Verwendung von Member-Feldern zur Speicherung von Informationen im Servlet. In Multithreading-Umgebungen führt das Speichern von Benutzerdaten in Servlet-Member-Feldern zu einem Data-Access-Race-Condition.

Maßnahme (Implementation)

Effektivität: Limited
Beschreibung: Vermeiden Sie die Verwendung des Double-Checked-Locking-Patterns in Sprachversionen, die keine Thread-Sicherheit garantieren. Dieses Pattern kann verwendet werden, um den Overhead eines synchronized-Aufrufs zu vermeiden, jedoch wurde in bestimmten Versionen von Java (zum Beispiel) gezeigt, dass es unsicher ist, da es dennoch einen Race-Condition (CWE-209) einführt.