2.5 KiB
Utilisation après libération
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!
Autres façons de soutenir HackTricks :
- Si vous souhaitez voir votre entreprise annoncée dans HackTricks ou télécharger HackTricks en PDF, consultez les PLANS D'ABONNEMENT !
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez La famille PEASS, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @hacktricks_live.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud dépôts GitHub.
Informations de base
Comme son nom l'indique, cette vulnérabilité se produit lorsqu'un programme alloue de l'espace dans le tas pour un objet, écrit des informations, le libère apparemment car il n'est plus nécessaire, puis y accède à nouveau.
Le problème ici est que ce n'est pas illégal (il n'y aura pas d'erreurs) lorsque de la mémoire libérée est accédée. Ainsi, si le programme (ou l'attaquant) parvient à allouer la mémoire libérée et à stocker des données arbitraires, lorsque la mémoire libérée est accédée à partir du pointeur initial, ces données auront été écrasées, provoquant une vulnérabilité qui dépendra de la sensibilité des données qui étaient initialement stockées (si c'était un pointeur d'une fonction qui devait être appelée, un attaquant pourrait le contrôler).
Autres références et exemples
- https://8ksec.io/arm64-reversing-and-exploitation-part-2-use-after-free/
- ARM64. Utilisation après libération : Générer un utilisateur, le libérer, réutiliser le même bloc en écrasant la position du mot de passe de l'utilisateur précédent. Réutiliser l'utilisateur pour contourner la vérification du mot de passe