• CWE-244: Improper Clearing of Heap Memory Before Release ('Heap Inspection')

Die Verwendung von realloc() zur Größenänderung von Puffern, die sensible Informationen enthalten, kann dazu führen, dass diese Informationen für Angriffe exponiert werden, da sie nicht aus dem Speicher entfernt werden.

CWE-244: Improper Clearing of Heap Memory Before Release ('Heap Inspection')

CWE ID: 244
Name: Improper Clearing of Heap Memory Before Release (‘Heap Inspection’)

Beschreibung

Die Verwendung von realloc() zur Größenänderung von Puffern, die sensible Informationen enthalten, kann dazu führen, dass diese Informationen für Angriffe exponiert werden, da sie nicht aus dem Speicher entfernt werden.

Erweiterte Beschreibung

Wenn sensible Daten wie ein Passwort oder ein Verschlüsselungsschlüssel nicht aus dem Speicher entfernt werden, können sie einem Angreifer durch einen “heap inspection” Angriff ausgesetzt sein, der die Daten mithilfe von Memory Dumps oder anderen Methoden ausliest. Die Funktion realloc() wird häufig verwendet, um die Größe eines bereits allokierten Speicherblocks zu erhöhen. Diese Operation erfordert oft das Kopieren des Inhalts des alten Speicherblocks in einen neuen, größeren Block. Diese Operation lässt den Inhalt des ursprünglichen Blocks intakt, jedoch unzugänglich für das Programm. Dies verhindert, dass das Programm sensible Daten aus dem Speicher “scrubben” kann. Sollte ein Angreifer später den Inhalt eines Memory Dump untersuchen können, könnten die sensiblen Daten exponiert werden.