All Virtuozzo development lists (kernel + QEMU)
 help / color / mirror / Atom feed
From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
To: "Denis V. Lunev" <den@openvz.org>
Cc: svt-core@virtuozzo.com
Subject: Re: [PATCH hci-8.1 0/3] hw/usb/hcd-xhci: fix guest-triggerable use-after-free (CVE-2026-17588, CVE-2026-111819) #VSTOR-151666
Date: Mon, 26 Oct 2026 18:13:38 +0200	[thread overview]
Message-ID: <21983bd9-fb9d-4de1-889a-48f9f5fe8019@virtuozzo.com> (raw)
In-Reply-To: <20261026114645.187003-1-den@openvz.org>

Ack
Applied onto hci-dev

On 10/26/26 1:46 PM, Denis V. Lunev wrote:
> A guest can crash QEMU through the emulated xHCI controller by pointing
> the event ring, or an MSI-X vector, at the controller's own doorbell
> register. An event posted outside MMIO context, such as a USB transfer
> completion from the main loop, is then written by DMA into doorbell 0
> and runs the command ring re-entrantly. A Disable Slot command planted
> there frees the transfer and endpoint the caller still holds.
> 
> VSTOR-151666 is this crash on a production node: qemu-kvm SIGSEGV in
> xhci_ep_free_xfer() <- xhci_complete() <- usb_msd_command_complete().
> In the core, intr[0].er_start equals BAR0 + 0x2000, which is doorbell 0,
> and most crashes of that VM follow the
> "Blocked re-entrant IO on MemoryRegion: doorbell at addr: 0x0" warning
> by a second or two.
> 
> Upstream fixed it with these three commits from Thomas Huth:
> 
>   f91b0544fe  engage the re-entrancy guard in the xHCI timer callbacks
>               (CVE-2026-17588)
>   89e653b773  restrict xHCI DMA writes to RAM, so events cannot reach
>               MMIO at all
>   cfa70f3a82  engage the guard in xhci_complete() and the other port
>               callbacks (CVE-2026-111819); this is the path that crashed
> 
> All three cherry-pick cleanly onto hci-dev with no changes. The only
> local edit is the #VSTOR-151666 tag in the subjects.
> 
> Upstream has no test for either CVE. hw/usb/hcd-xhci.c builds, and the
> existing usb-hcd-xhci-test qtest passes. The attack itself has not been
> reproduced.
> 
> The same series is needed on hci-8.0, hci-7.4 and hci-7.3 and will be
> sent separately.
> 
> Signed-off-by: Denis V. Lunev <den@openvz.org>
> 
> Thomas Huth (3):
>   hw/usb/hcd-xhci: Set reentrancy guard in timer functions
>     (CVE-2026-17588) #VSTOR-151666
>   hw/usb/hcd-xhci: Limit DMA transfers to plain memory #VSTOR-151666
>   hw/usb/hcd-xhci: More reentrancy guard fixes for the XHCI code
>     #VSTOR-151666
> 
>  hw/usb/hcd-xhci.c | 52 ++++++++++++++++++++++++++++++++++++++++++-----
>  1 file changed, 47 insertions(+), 5 deletions(-)
> 
> 
> base-commit: f3c1d9ef263edfab8d2a273078493bb766dcf8f8


      parent reply	other threads:[~2026-10-26 16:13 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-26 11:46 Denis V. Lunev
2026-10-26 11:46 ` [PATCH hci-8.1 1/3] hw/usb/hcd-xhci: Set reentrancy guard in timer functions (CVE-2026-17588) #VSTOR-151666 Denis V. Lunev
2026-10-26 11:51   ` no-reply
2026-10-26 11:46 ` [PATCH hci-8.1 2/3] hw/usb/hcd-xhci: Limit DMA transfers to plain memory #VSTOR-151666 Denis V. Lunev
2026-10-26 11:50   ` no-reply
2026-10-26 11:46 ` [PATCH hci-8.1 3/3] hw/usb/hcd-xhci: More reentrancy guard fixes for the XHCI code #VSTOR-151666 Denis V. Lunev
2026-10-26 11:53   ` no-reply
2026-10-26 16:13 ` Andrey Drobyshev [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=21983bd9-fb9d-4de1-889a-48f9f5fe8019@virtuozzo.com \
    --to=andrey.drobyshev@virtuozzo.com \
    --cc=den@openvz.org \
    --cc=svt-core@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.