CVE-2026-72138
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
xen/gntdev: fix error handling in ioctl
When gntdev_ioctl_map_grant_ref() fails to copy the operation result back to userspace after successfully adding the mapping to the list, the error path returns -EFAULT without releasing the reference acquired by gntdev_alloc_map(). The mapping remains in priv->maps with a refcount of 1, causing a memory leak and a dangling list entry.
Additionally, gntdev_add_map() may modify map->index to avoid overlap with existing mappings. Therefore, the index returned to userspace must be obtained after gntdev_add_map() completes.
Fix this by holding the mutex across gntdev_add_map(), retrieving the correct index, and copy_to_user(). If copy_to_user() fails, remove the mapping from the list and release the reference while still holding the lock.
Fix these issues by properly handling all error cases.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 68b025c813c2eb41ff25628e3d4952d5185eb1a4 < 52dc40ef0cfee6ae89b7524967e73f0ba37906d7 | affected |
| Linux | Linux | 68b025c813c2eb41ff25628e3d4952d5185eb1a4 < 1dd9cb98fe228e017fff9efb33862ff38c741b65 | affected |
| Linux | Linux | 68b025c813c2eb41ff25628e3d4952d5185eb1a4 < 6df926130aee6cab9b5d2e5b7862e49ccac348dc | affected |
| Linux | Linux | 68b025c813c2eb41ff25628e3d4952d5185eb1a4 < 311011f8cc206c5af2877b03e3f627ee1b8fe024 | affected |
| Linux | Linux | 68b025c813c2eb41ff25628e3d4952d5185eb1a4 < 18a693733f7ad004e1ab0466693121ca70cd95dd | affected |
| Linux | Linux | 68b025c813c2eb41ff25628e3d4952d5185eb1a4 < 16d3ccdabb8dee9be2cdcd6d3f9a125572ec0454 | affected |
| Linux | Linux | 68b025c813c2eb41ff25628e3d4952d5185eb1a4 < 6883269a323609f68f6faa903f8f8ff3d191cec8 | affected |
| Linux | Linux | 68b025c813c2eb41ff25628e3d4952d5185eb1a4 < 45ca1afe2fd14c04e37227e79d3f8455831d8408 | affected |
| Linux | Linux | 2.6.39 | affected |
| Linux | Linux | 0 < 2.6.39 | unaffected |
| Linux | Linux | 5.10.261 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.212 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.178 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.145 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.97 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.40 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.5 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/52dc40ef0cfee6ae89b7524967e73f0ba37906d7
- https://git.kernel.org/stable/c/1dd9cb98fe228e017fff9efb33862ff38c741b65
- https://git.kernel.org/stable/c/6df926130aee6cab9b5d2e5b7862e49ccac348dc
- https://git.kernel.org/stable/c/311011f8cc206c5af2877b03e3f627ee1b8fe024
- https://git.kernel.org/stable/c/18a693733f7ad004e1ab0466693121ca70cd95dd
- https://git.kernel.org/stable/c/16d3ccdabb8dee9be2cdcd6d3f9a125572ec0454
- https://git.kernel.org/stable/c/6883269a323609f68f6faa903f8f8ff3d191cec8
- https://git.kernel.org/stable/c/45ca1afe2fd14c04e37227e79d3f8455831d8408
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.