Use After Free

Unterstützen Sie HackTricks

Grundlegende Informationen

Wie der Name schon sagt, tritt diese Schwachstelle auf, wenn ein Programm einen Speicherplatz im Heap für ein Objekt reserviert, dort Informationen schreibt, ihn freigibt, weil er scheinbar nicht mehr benötigt wird, und dann erneut darauf zugreift.

Das Problem hierbei ist, dass es nicht illegal ist (es werden keine Fehler auftreten), wenn auf einen freigegebenen Speicher zugegriffen wird. Wenn das Programm (oder der Angreifer) es jedoch schafft, den freigegebenen Speicher zu allozieren und beliebige Daten zu speichern, würden beim Zugriff auf den freigegebenen Speicher über den ursprünglichen Zeiger diese Daten überschrieben, was zu einer Schwachstelle führt, die von der Sensibilität der ursprünglich gespeicherten Daten abhängt (wenn es sich um einen Zeiger auf eine Funktion handelte, die aufgerufen werden sollte, könnte ein Angreifer sie nun steuern).

First Fit-Angriff

Ein First Fit-Angriff zielt auf die Art und Weise ab, wie einige Speicherzuweiser, wie z.B. in glibc, freigegebenen Speicher verwalten. Wenn Sie einen Speicherblock freigeben, wird er einer Liste hinzugefügt, und neue Speicheranforderungen greifen am Ende auf diese Liste zu. Angreifer können dieses Verhalten nutzen, um zu manipulieren, welche Speicherblöcke wiederverwendet werden, und so möglicherweise die Kontrolle darüber zu erlangen. Dies kann zu "Use-After-Free"-Problemen führen, bei denen ein Angreifer den Inhalt von Speicher ändern könnte, der erneut zugewiesen wird, was ein Sicherheitsrisiko darstellt. Weitere Informationen finden Sie unter:

First Fit
Unterstützen Sie HackTricks

Last updated