Vulnerabilitatea Windows Heap duce la R/W arbitrar
Sursă: https://cybersecuritynews.com
O vulnerabilitate critică în administrarea heap-ului Windows demonstrează cum gestionarea necorespunzătoare a câmpurilor de tip record-sizepermite operațiuni arbitrare de citire și scriere în memorie.
Heap-ul Windows NT funcționează prin intermediul alocatorilor FrontEnd și BackEnd. Alocatorul FrontEnd gestionează alocările mici sub 16 KB folosind LFH, în timp ce BackEnd se ocupă de cererile mai mari.
Activarea LFH necesită 18 alocări consecutive de dimensiuni similare, creând structuri de memorie predictibile care pot fi exploatate de atacatori. Vulnerabilitatea se manifestă în aplicațiile care utilizează heap-uri private create prin funcțiile HeapCreate().
Aceste contexte oferă măsuri de securitate reduse în comparație cu heap-urile de procese implicite accesate prin GetProcessHeap(). Vulnerabilitatea principală există în funcționalitatea de actualizare a înregistrărilor, unde aplicațiile reutilizează dimensiunile înregistrărilor anterioare atunci când citesc date noi.
Exploatarea începe prin activarea LFH prin alocări repetate, apoi prin crearea de structuri de memorie controlate.
Atacatorii manipulează câmpul target->size, care rămâne neschimbat în timpul actualizărilor, permițând erori de tip heap overflow conditions atunci când datele noi depășesc limitele alocate.
Prin crearea de chunk-uri false și manipularea pointer-ilor freelist, specialiștii au reușit să exploateze structura FILE folosind obiecte FILE create special, cu câmpurile _base, _file, _flag și _bufsiz controlate.
Setarea _base la adresele de memorie vizate și _file la stdin permite scrierea de date arbitrare în locații controlate.
Tehnica utilizează convenția de apel Microsoft x64, transmitând argumente prin registrele RCX, RDX, R8 și R9 folosind gadget-uri ROP în ntdll.
Se recomandă implementarea unei validări robuste a datelor de intrare, utilizarea implementării moderne ale heap-ului și folosirea mecanismelor complexe de protecție a memoriei pentru a limita tehnicile sofisticate de exploatare care vizează componentele interne ale heap-ului Windows.
Sursă: https://cybersecuritynews.com/windows-heap-exploitation-vulnerability/
