xen/gntdev: fix error handling in ioctl
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
2.6.39
References 8
git.kernel.org
- stable/c/52dc40ef0cfee6ae89b7524967e73f0ba37906d7
- stable/c/1dd9cb98fe228e017fff9efb33862ff38c741b65
- stable/c/6df926130aee6cab9b5d2e5b7862e49ccac348dc
- stable/c/311011f8cc206c5af2877b03e3f627ee1b8fe024
- stable/c/18a693733f7ad004e1ab0466693121ca70cd95dd
- stable/c/16d3ccdabb8dee9be2cdcd6d3f9a125572ec0454
- stable/c/6883269a323609f68f6faa903f8f8ff3d191cec8
- stable/c/45ca1afe2fd14c04e37227e79d3f8455831d8408