Use After Free
Grundlegende Informationen
Wie der Name schon sagt, tritt diese Schwachstelle auf, wenn ein Programm im Heap Speicherplatz für ein Objekt reserviert, dort einige Informationen schreibt, es anscheinend freigibt, weil es 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 freigegebenen Speicher zugegriffen wird. Wenn das Programm (oder der Angreifer) es schafft, den freigegebenen Speicherplatz zuzuweisen und beliebige Daten zu speichern, und dann auf den freigegebenen Speicherplatz zugreift, an der ursprünglichen Stelle, würden diese Daten überschrieben werden, was eine Schwachstelle verursacht, die von der Sensibilität der ursprünglich gespeicherten Daten abhängt (wenn es sich um einen Funktionszeiger handelte, der aufgerufen werden sollte, könnte ein Angreifer ihn kontrollieren).
Weitere Referenzen & Beispiele
ARM64. Use after free: Erstellen eines Benutzers, Freigabe, Wiederverwendung des gleichen Chunks Überschreiben der Position von user->password aus dem vorherigen. Wiederverwendung des Benutzers, um die Passwortprüfung zu umgehen.
Last updated