diff options
Diffstat (limited to 'results/classifier/zero-shot/108/other/1377')
| -rw-r--r-- | results/classifier/zero-shot/108/other/1377 | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/results/classifier/zero-shot/108/other/1377 b/results/classifier/zero-shot/108/other/1377 new file mode 100644 index 000000000..9fa7cc937 --- /dev/null +++ b/results/classifier/zero-shot/108/other/1377 @@ -0,0 +1,29 @@ +device: 0.773 +vnc: 0.768 +graphic: 0.742 +debug: 0.506 +boot: 0.462 +socket: 0.412 +permissions: 0.405 +PID: 0.328 +KVM: 0.326 +semantic: 0.321 +performance: 0.309 +network: 0.279 +files: 0.113 +other: 0.095 + +x86 CVT* series instructions fault +Description of problem: +For example, CVTSD2SS instruction converts SRC[63:0] double precision floating point to DEST[31:0] single precision floating point. Although the CVTSD2SS instruction uses only 8 bytes, if it overlaps page boundary, I think QEMU tries to access over the valid memory and crashes. +Steps to reproduce: +1. Compile this code +``` +void main() { + mmap(0x555555559000, 0x1000, flag, ~~, 0); + asm("cvtsd2ss xmm1, qword ptr [0x555555559ff8]"); +} +``` +2. Execute. QEMU crashes but CPU does not. +Additional information: +This bug is discovered by research conducted by KAIST SoftSec. |