On Wed, 14 Jan 2026 at 16:35, Maxime Coquelin
<[email protected]> wrote:
>
> The virtio_net_ctrl_pop() function traverses descriptor chains from
> guest-controlled memory without validating that the descriptor index
> stays within bounds and without a counter to prevent infinite loops
> from circular chains.
>
> A malicious guest could craft descriptors with a next field pointing
> out of bounds causing memory corruption, or create circular descriptor
> chains causing an infinite loop and denial of service.
>
> Add bounds checking and a loop counter to both descriptor chain
> traversal loops, similar to the existing protection in virtio_net.c
> fill_vec_buf_split().
>
> Fixes: 474f4d7840ad ("vhost: add control virtqueue")
> Cc: [email protected]
>
> Signed-off-by: Maxime Coquelin <[email protected]>

Thanks for the update.
Reviewed-by: David Marchand <[email protected]>


-- 
David Marchand

Reply via email to