qemuafl
qemuafl copied to clipboard
qasan aarch64 will hang when show ABORTING
There is simple code
int main(int argc, char **argv) {
UNUSED_PARAMETER(argc);
UNUSED_PARAMETER(argv);
char buf[3];
memset(buf, 0, 3);
read(0, buf, 3);
if (buf[0] == 'c') {
printf("hit buf0\n");
if (buf[1] == 'r') {
printf("hit buf1\n");
if (buf[2] == 'a') {
printf("hit buf2\n");
//test('D');
//abort();
char *buf = malloc(10);
free(buf);
free(buf);
}
}
}
return 0;
}
aarch64-linux-gnu-gcc test.c -o test
AFL_USE_QASAN=1 ./afl-qemu-trace ./test <<< "crash"
qasan may detect a UAF AddressSanitizer, but it will hang when show ABORTING.
I've had this issue for a very long time and finally decided to debug it, it's super slow because of coredumps. Just disable them using ulimit and it will immediately exit:
ulimit -c 0