CVE-2026-74713

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
22/08/2026
Last modified:
22/08/2026

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> vhost_iotlb: bound map allocation in add_range<br /> <br /> vhost_iotlb_add_range_ctx() only retires an old entry when the table<br /> has a non-zero limit, has exactly reached that limit and has<br /> VHOST_IOTLB_FLAG_RETIRE set. Non-retiring tables can keep allocating<br /> entries after reaching their configured limit.<br /> <br /> Existing vhost devices allocate their IOTLB with max_iotlb_entries from<br /> vhost.c, which defaults to 2048 and is tunable by module parameter. Use<br /> the caller-provided limit at the allocation point instead of adding a<br /> separate default in the common IOTLB helper, and reject non-positive<br /> values in vhost paths that can report an error.<br /> <br /> Other vhost IOTLB users should not create zero-limit tables when entries<br /> can be populated from userspace or guest-controlled requests. Add<br /> caller-side max_iotlb_entries parameters for mlx5 vDPA, VDUSE and<br /> vhost-vDPA. Reject non-positive VDUSE and vhost-vDPA values, and require<br /> at least two entries for vdpa_sim and mlx5 vDPA paths that install<br /> full-range mappings, since those mappings are split into two IOTLB<br /> entries.<br /> <br /> Handle full-range mappings in the common helper by checking that the<br /> IOTLB can hold both split entries before inserting the first half. This<br /> avoids returning an error after leaving a half mapping behind.<br /> <br /> When the table is full, keep the existing retire behavior for retiring<br /> tables and return -ENOSPC for non-retiring tables. Reuse the retired map<br /> node instead of freeing it and allocating a replacement, so a stream of<br /> IOTLB updates cannot keep forcing GFP_ATOMIC allocations after the table<br /> has reached its limit. If a zero-limit IOTLB still reaches the common<br /> helper, treat it as a configuration error and return -EINVAL.<br /> <br /> I found this bug myself, though the patch was written with AI assistance.

Impact