CVE-2026-74713 json
vhost_iotlb: bound map allocation in add_range
published 2mo ago modified 12d ago also EUVD-2026-64400
- cvss
- 7.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.1%
- EPSS 0.1% chance of exploitation in 30 days, percentile 3%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
vhost_iotlb: bound map allocation in add_range
vhost_iotlb_add_range_ctx() only retires an old entry when the table has a non-zero limit, has exactly reached that limit and has VHOST_IOTLB_FLAG_RETIRE set. Non-retiring tables can keep allocating entries after reaching their configured limit.
Existing vhost devices allocate their IOTLB with max_iotlb_entries from vhost.c, which defaults to 2048 and is tunable by module parameter. Use the caller-provided limit at the allocation point instead of adding a separate default in the common IOTLB helper, and reject non-positive values in vhost paths that can report an error.
Other vhost IOTLB users should not create zero-limit tables when entries can be populated from userspace or guest-controlled requests. Add caller-side max_iotlb_entries parameters for mlx5 vDPA, VDUSE and vhost-vDPA. Reject non-positive VDUSE and vhost-vDPA values, and require at least two entries for vdpa_sim and mlx5 vDPA paths that install full-range mappings, since those mappings are split into two IOTLB entries.
Handle full-range mappings in the common helper by checking that the IOTLB can hold both split entries before inserting the first half. This avoids returning an error after leaving a half mapping behind.
When the table is full, keep the existing retire behavior for retiring tables and return -ENOSPC for non-retiring tables. Reuse the retired map node instead of freeing it and allocating a replacement, so a stream of IOTLB updates cannot keep forcing GFP_ATOMIC allocations after the table has reached its limit. If a zero-limit IOTLB still reaches the common helper, treat it as a configuration error and return -EINVAL.
I found this bug myself, though the patch was written with AI assistance.
Patch / fix
- Linux Linux 6.1.191, 6.6.160, 6.12.114, 6.18.57, 7.1.9, 7.2
- linux Debian 13 6.12.115-2
- linux Debian 14 7.1.9-1
debian advisories DEBIAN-CVE-2026-74713
- linux Ubuntu 26.04 LTS 7.0.0-42.42
- linux-aws Ubuntu 26.04 LTS 7.0.0-1016.17
- linux-gcp Ubuntu 26.04 LTS 7.0.0-1016.18
- linux-ibm Ubuntu 26.04 LTS 7.0.0-1017.17
- linux-riscv Ubuntu 26.04 LTS 7.0.0-42.42.1
- linux-oracle Ubuntu 26.04 LTS 7.0.0-1015.16
- linux-hwe-7.0 Ubuntu 24.04 LTS 7.0.0-42.42~24.04.1
- linux-oem-7.0 Ubuntu 26.04 LTS 7.0.0-1017.17
ubuntu advisories UBUNTU-CVE-2026-74713
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.84.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.84.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.84.1
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.84.1
- kernel-default SLE Workstation Extension 15 SP7, SLE Module for Legacy 15 SP7, SLE Module for Basesystem 15 SP7 +2 more 6.4.0-150700.53.84.1
- kernel-zfcpdump SLE Module for Basesystem 15 SP7 6.4.0-150700.53.84.1
- kernel-obs-build SLE Module for Development Tools 15 SP7 6.4.0-150700.53.84.1
- kernel-default-base SLE Module for Basesystem 15 SP7 6.4.0-150700.53.84.1.150700.17.47.1
suse advisories SUSE-SU-2026:4706-1SUSE-SU-2026:4640-1SUSE-SU-2026:24316-1SUSE-SU-2026:24315-1SUSE-SU-2026:24181-1SUSE-SU-2026:24182-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.39.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.39.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.39.1
opensuse advisories openSUSE-SU-2026:22091-1
- git.kernel.org/stable/c/91d3f1fcb8f7109f18d46a7366bb8202ac4b4456 commit
- git.kernel.org/stable/c/96da3e1439e7d689eea09fc9b6227fbab5b88ac3 commit
- git.kernel.org/stable/c/eb70200e34772572ad08e99291b08afea6522111 commit
- git.kernel.org/stable/c/b57164cdddb46924ff9fa191b727ca097744de88 commit
- git.kernel.org/stable/c/ae128dd19040ee06a4f8143c7ced4d18080d7a9a commit
- git.kernel.org/stable/c/1ed35ac7f3fe2b4396bdd29ac3a7f0ebc0829e94 commit
Is CVE-2026-74713 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-74713 updated cvss 5.5
kernel: vhost_iotlb: bound map allocation in add_range
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelaffected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 26d ago
Exploit prediction
0.14% chance of exploitation in the next 30 days, higher than 3% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.1 | CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/91d3f1fcb8f7109f18d46a7366bb8202ac4b4456
- git.kernel.org /stable/c/96da3e1439e7d689eea09fc9b6227fbab5b88ac3
- git.kernel.org /stable/c/eb70200e34772572ad08e99291b08afea6522111
- git.kernel.org /stable/c/b57164cdddb46924ff9fa191b727ca097744de88
- git.kernel.org /stable/c/ae128dd19040ee06a4f8143c7ced4d18080d7a9a
- git.kernel.org /stable/c/1ed35ac7f3fe2b4396bdd29ac3a7f0ebc0829e94
Sources
- CVE List CVE-2026-74713
- NVD CVE-2026-74713
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.