An issue was discovered in the Linux kernel through 5.10.1, as used with Xen through 4.14.x. The Linux kernel PV block backend expects the kernel thread handler to reset ring->xenblkd to NULL when stopped. However, the handler may not have time to run if the frontend quickly toggles between the states connect and disconnect. As a consequence, the block backend may re-use a pointer after it was freed. A misbehaving guest can trigger a dom0 crash by continuously connecting / disconnecting a block frontend. Privilege escalation and information leaks cannot be ruled out. This only affects systems with a Linux blkback.
| Software | From | Fixed in |
|---|---|---|
| xen / xen | - | 4.14.1.x |
| linux / linux_kernel | 4.1.44 | 4.2 |
| linux / linux_kernel | 4.4.80 | 4.4.254 |
| linux / linux_kernel | 4.9.36 | 4.9.249 |
| linux / linux_kernel | 4.11.9 | 4.12 |
| linux / linux_kernel | 4.12 | 4.14.213 |
| linux / linux_kernel | 4.15 | 4.19.164 |
| linux / linux_kernel | 4.20 | 5.4.86 |
| linux / linux_kernel | 5.5 | 5.10.4 |
| debian / debian_linux | 9.0 | 9.0.x |
| debian / debian_linux | 10.0 | 10.0.x |