• CWE-374: Passing Mutable Objects to an Untrusted Method

Das Produkt übergibt veränderliche Daten ohne Cloning als Argument an eine Methode oder Funktion.

CWE-374: Passing Mutable Objects to an Untrusted Method

CWE ID: 374
Name: Passing Mutable Objects to an Untrusted Method

Beschreibung

Das Produkt übergibt veränderliche Daten ohne Cloning als Argument an eine Methode oder Funktion.

Erweiterte Beschreibung

Die aufgerufene Funktion oder Methode kann die veränderlichen Daten modifizieren oder löschen. Dies könnte Annahmen verletzen, die die aufrufende Funktion über ihren Zustand getroffen hat. In Situationen, in denen unbekannter Code mit Referenzen auf veränderliche Daten aufgerufen wird, kann dieser externe Code Änderungen an den gesendeten Daten vornehmen. Wenn diese Daten nicht zuvor clonet wurden, könnten die modifizierten Daten im Kontext der Ausführung ungültig sein.

Risikominderungsmaßnahmen

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Übergeben Sie Daten, die nicht verändert werden sollen, als konstant oder immutable.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Kopieren Sie alle veränderlichen Daten vor dem Übergeben an eine externe Funktion. Dies ist die bevorzugte Mitigation. Auf diese Weise bleibt eine gültige Kopie erhalten, unabhängig von den Änderungen, die an den Daten vorgenommen werden, und kann von der Klasse für weitere Prozesse genutzt werden.