• CWE-252: Unchecked Return Value

Das Produkt überprüft den Rückgabewert einer Methode oder Funktion nicht, was die Erkennung unerwarteter Zustände und Bedingungen verhindern kann.

CWE-252: Unchecked Return Value

CWE ID: 252
Name: Unchecked Return Value

Beschreibung

Das Produkt überprüft den Rückgabewert einer Methode oder Funktion nicht, was die Erkennung unerwarteter Zustände und Bedingungen verhindern kann.

Erweiterte Beschreibung

Zwei verbreitete Annahmen von Programmierern sind “dieser Funktionsaufruf kann niemals fehlschlagen” und “es ist egal, wenn dieser Funktionsaufruf fehlschlägt”. Sollte ein Angreifer die Funktion dazu bringen, zu fehlschlagen oder einen unerwarteten Wert zurückzugeben, kann die nachfolgende Programmlogik zu einer Vulnerability führen, da sich das Produkt nicht in dem Zustand befindet, den der Programmierer erwartet. Beispielsweise, wenn das Programm eine Funktion aufruft, um Privilegien zu reduzieren, aber den Return Code nicht überprüft, um sicherzustellen, dass die Privilegien erfolgreich reduziert wurden, dann wird das Programm weiterhin mit den höheren Privilegien operieren.

Risikominderungsmaßnahmen

Maßnahme (Implementation)

Effektivität: High
Beschreibung: Überprüfen Sie die Ergebnisse aller Funktionen, die einen Wert zurückgeben, und verifizieren Sie, dass der Wert dem Erwarteten entspricht. Notizen: Die Überprüfung des Rückgabewerts der Funktion ist in der Regel ausreichend, jedoch ist in einer parallelen Umgebung auf race conditions (CWE-362) zu achten.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Stellen Sie sicher, dass Sie alle möglichen Rückgabewerte der Funktion berücksichtigen.

Maßnahme (Implementation)

Effektivität: Unknown
Beschreibung: Bei der Gestaltung einer Funktion ist sicherzustellen, dass ein Wert zurückgegeben oder im Fehlerfall eine Exception ausgelöst wird.

Detaillierter Hintergrund

Viele Funktionen geben einen Wert zurück, der Auskunft über den Erfolg ihrer Aktionen liefert. Dies benachrichtigt das Programm darüber, ob Fehler, die durch diese Funktion verursacht wurden, behandelt werden müssen.