-
Notifications
You must be signed in to change notification settings - Fork 139
Open
Description
I audited the source code for this project. I found a dead loop issue when the VM executes the JUMP function. For instance, below is an example.
`
case IFN: {
if (registers[instructions[IP + 1]] != instructions[IP + 2]) {
IP = instructions[IP + 3];
//printf("run! id:%d\n",IP);
is_jmp = true;
}
else {
IP = IP + 3;
}
break;
deadloop_poc.mac.zip
}
`
When instruction[IP+3] is zero, the IP will be assigned to zero. Because the is_jmp is true, the IP won't be added 1.
I have attached my poc.
deadloop_poc.mac.zip
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels