Spray di heap su linux-3.18

0

Sto cercando di scrivere POC per una vulnerabilità use-after-free. Sono stato in grado di controllare la memoria liberata nel kernel 4.4 ma lo stesso codice non funziona su 3.18.

Secondo la mia comprensione, se la memoria allocata all'indirizzo P viene liberata e viene fatta una nuova richiesta di allocazione delle stesse dimensioni, è molto probabile che P sia dato per la nuova richiesta.

Esempio:

P = kzalloc(S)
kfree(P)
Q = kzalloc(S)

Ora c'è un'alta probabilità che P == Q.

Nel kernel di linux 4.4, sono in grado di allocare lo stesso indirizzo di ciò che è stato liberato. Ma 3.18 non assegna mai lo stesso indirizzo.

Linux ha una tecnica di mitigazione che potrebbe essere abilitata nel kernel 3.18 per impedire l'allocazione immediata dell'oggetto liberato. Qualcuno può far luce su questo.

C'è un altro modo per controllare il contenuto dell'heap?

    
posta Trishansh Bhardwaj 10.11.2017 - 06:59
fonte

0 risposte