Skip to content

DeadLoop Issue #20

@MinghaoLin2000

Description

@MinghaoLin2000

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions