You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
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
The text was updated successfully, but these errors were encountered: