Heap Spray on linux-3.18

0

Estoy tratando de escribir POC para una vulnerabilidad de uso después de la liberación. He podido controlar la memoria liberada en el kernel 4.4, pero el mismo código no funciona en 3.18.

Según mi entendimiento, si la memoria asignada en la dirección P se libera y se realiza una nueva solicitud de asignación del mismo tamaño, es muy probable que se otorgue P para una nueva solicitud.

Ejemplo:

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

Ahora hay muchas posibilidades de que P == Q.

En el kernel de Linux 4.4, puedo asignar la misma dirección a la que se liberó. Pero 3.18 nunca está asignando la misma dirección.

¿Tiene Linux alguna técnica de mitigación que pueda habilitarse en el kernel 3.18 para evitar la asignación inmediata de objetos liberados? ¿Alguien puede arrojar algo de luz sobre esto?

¿Hay alguna otra forma de controlar el contenido del montón?

    
pregunta Trishansh Bhardwaj 10.11.2017 - 06:59
fuente

0 respuestas

Lea otras preguntas en las etiquetas