blob: f06ad0820e7bb58c3ae63a9c82bc2b16085a7225 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
device: 0.761
boot: 0.693
graphic: 0.667
instruction: 0.605
network: 0.537
socket: 0.478
vnc: 0.441
semantic: 0.369
mistranslation: 0.293
other: 0.217
KVM: 0.076
assembly: 0.070
qemu-2.12.1 crashes when running malicious bootloader.
Running specific bootloader on Qemu causes fatal error and
hence SIGABRT in /qemu-2.12.1/tcg/tcg.c on line 2684.
Bootloader binary code is included in attachments.
The code was generated by assembling a valid bootloader, then
appending random-bytes from file `/dev/urandom` to the binary file.
This is a bug, obviously, but note that we do not guarantee TCG binary translation to be a security boundary against malicious code. Don't run guest code you don't trust inside TCG without further sandboxing around QEMU. (Much of the code that runs in a TCG configuration is old and unaudited, so there may be lurking bugs. Configurations using KVM are the only ones where we treat guest escapes as security bugs.)
I think this bug was fixed in QEMU 3.1 -- I can reproduce the assert on 3.0 but not on 3.1.
|