Use After Free
मौलिक जानकारी
जैसा कि नाम सुझाता है, यह सुरक्षा दोष उत्पन्न होता है जब एक कार्यक्रम किसी वस्तु के लिए हीप में कुछ स्थान संग्रहित करता है, कुछ जानकारी वहाँ लिखता है, इसे मुक्त कर देता है ऐसा लगभग क्योंकि यह अब और आवश्यक नहीं है और फिर फिर से उसे एक्सेस करता है।
यहाँ समस्या यह है कि जब एक मुक्त की गई स्मृति तक पहुंचा जाता है, तो यह गलत नहीं है (वहाँ त्रुटियाँ नहीं होंगी)। इसलिए, अगर कार्यक्रम (या हमलावर) ने मुक्त की गई स्मृति को आवंटित करने और विचारशील डेटा संग्रहित करने में कामयाब रहा, तो जब मुक्त की गई स्मृति को प्रारंभिक पॉइंटर से एक्सेस किया जाता है तो उस डेटा को ओवरराइट कर दिया जाएगा जिससे एक सुरक्षा दोष उत्पन्न होगा जो डेटा की संवेदनशीलता पर निर्भर करेगा जो मूल रूप से संग्रहित था (यदि यह किसी फ़ंक्शन का पॉइंटर था जो कॉल किया जाने वाला था, तो हमलावर इसे नियंत्रित कर सकता था)।
अन्य संदर्भ और उदाहरण
ARM64. Use after free: Generate a user, free it, reuse the same chunk overwriting the position of user->password from the previous one. Reuse the user to bypass the password check
Last updated