CWE ID: 457
Name: Use of Uninitialized Variable
Der Code verwendet eine Variable, die nicht initialisiert wurde, was zu unvorhersehbaren oder unbeabsichtigten Ergebnissen führen kann.
In einigen Programmiersprachen wie C und C++ werden Stack-Variablen nicht standardmäßig initialisiert. Sie enthalten in der Regel “junk data” – den Inhalt des Stack-Speichers vor dem Funktionsaufruf. Ein Angreifer kann unter Umständen diese Inhalte kontrollieren oder auslesen. In anderen Sprachen oder unter anderen Bedingungen kann einer nicht explizit initialisierten Variable ein Standardwert zugewiesen werden, der, abhängig von der Logik des Programms, Sicherheitsimplikationen haben kann. Das Vorhandensein einer nicht initialisierten Variable kann zudem auf einen typografischen Fehler im Code hindeuten.
Effektivität: Unknown
Beschreibung: Weisen Sie allen Variablen einen Anfangswert zu.
Effektivität: Unknown
Beschreibung: Die meisten Compiler geben eine Warnung aus, wenn Warnungen aktiviert sind und nicht initialisierte Variablen verwendet werden.
Effektivität: Unknown
Beschreibung: Bei der Verwendung einer Programmiersprache, die keine explizite Variablendeklaration erfordert, sollte die Software in einem Modus ausgeführt oder kompiliert werden, der nicht deklarierte oder unbekannte Variablen meldet. Dies kann auf einen Tippfehler im Variablennamen hindeuten.
Effektivität: Unknown
Beschreibung: Die Entscheidung könnte getroffen werden, eine Sprache zu verwenden, die nicht anfällig für diese Probleme ist.
Effektivität: Unknown
Beschreibung: Abmildernde Technologien wie sichere String-Bibliotheken und Container-Abstraktionen könnten eingeführt werden.