diff options
Diffstat (limited to 'classification_output/05/semantic/gitlab_semantic_adox')
| -rw-r--r-- | classification_output/05/semantic/gitlab_semantic_adox | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/classification_output/05/semantic/gitlab_semantic_adox b/classification_output/05/semantic/gitlab_semantic_adox new file mode 100644 index 00000000..ed838cbd --- /dev/null +++ b/classification_output/05/semantic/gitlab_semantic_adox @@ -0,0 +1,49 @@ +semantic: 0.990 +instruction: 0.944 +assembly: 0.913 +graphic: 0.782 +device: 0.776 +vnc: 0.663 +boot: 0.599 +socket: 0.556 +mistranslation: 0.452 +network: 0.426 +other: 0.286 +KVM: 0.240 + +x86 ADOX and ADCX semantic bug +Description of problem +The result of instruction ADOX and ADCX are different from the CPU. The value of one of EFLAGS is different. + +Steps to reproduce + +Compile this code + + +void main() { + asm("push 512; popfq;"); + asm("mov rax, 0xffffffff84fdbf24"); + asm("mov rbx, 0xb197d26043bec15d"); + asm("adox eax, ebx"); +} + + + +Execute and compare the result with the CPU. This problem happens with ADCX, too (with CF). + +CPU + +OF = 0 + + +QEMU + +OF = 1 + + + + + + +Additional information +This bug is discovered by research conducted by KAIST SoftSec. |