Use After Free
Podstawowe informacje
Jak sugeruje nazwa, ta podatność występuje, gdy program przechowuje pewną przestrzeń w stercie dla obiektu, zapisuje tam pewne informacje, zwalnia ją, ponieważ nie jest już potrzebna, a następnie ponownie uzyskuje do niej dostęp.
Problem polega na tym, że nie jest to nielegalne (nie będzie błędów), gdy dostęp do zwolnionej pamięci jest uzyskiwany. Dlatego jeśli program (lub atakujący) zdoła przydzielić zwolnioną pamięć i przechować dowolne dane, gdy zwolniona pamięć jest uzyskiwana z początkowego wskaźnika, te dane zostaną nadpisane, powodując podatność zależną od wrażliwości danych, które były pierwotnie przechowywane (jeśli był to wskaźnik funkcji, która miała zostać wywołana, atakujący mógłby go teraz kontrolować).
Inne odnośniki i przykłady
ARM64. Użycie po zwolnieniu: Wygenerowanie użytkownika, zwolnienie go, ponowne użycie tego samego fragmentu nadpisując pozycję hasła użytkownika z poprzedniego. Ponowne użycie użytkownika do obejścia sprawdzenia hasła
Last updated