CVE-2022-48801·Kernel vulnerability
In the Linux kernel, the following vulnerability has been resolved: iio: buffer: Fix file related error handling in IIO_BUFFER_GET_FD_IOCTL If we fail to copy the just created file descriptor to userland, we try to clean up by putting back 'fd' and freeing 'ib'. The code uses put_unused_fd() for the former which is wrong, as the file descriptor was already published by fd_install() which gets called internally by anon_inode_getfd(). This makes the error handling code leaving a half cleaned up file descriptor table around and a partially destructed 'file' object, allowing userland to play use-after-free tricks on us, by abusing the still usable fd and making the code operate on a dangling 'file->private_data' pointer. Instead of leaving the kernel in a partially corrupted state, don't attempt to explicitly clean up and leave this to the process exit path that'll release any still valid fds, including the one created by the previous call to anon_inode_getfd(). Simply return -EFAULT to indicate the error.
- Severity
- high
- Software
- Kernel
- Fixed in
- 5.16.10
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — higher than 5% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Read the two together. CVE-2022-48801 scores 7.8 on CVSS, so a successful attack would be serious — but at <0.1%, almost nobody is currently attempting it. That is a different situation from a flaw under mass exploitation, and it is usually the difference between patching on your next maintenance window and patching tonight.
Affected versions
From: 5.16
Until: 5.16.10
Fixed in: 5.16.10
How to fix this CVE
Update your Linux kernel to version 5.16.10 or later to fix improper file descriptor cleanup in the IIO buffer subsystem. This vulnerability allows local users to trigger use-after-free conditions when the kernel fails to properly handle file descriptor creation errors. Prioritize patching systems where unprivileged users have local access, as exploitation requires local privilege level access.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check current kernel version with: uname -r — compare output against vulnerable range 5.16.0 through 5.16.9
- Verify IIO subsystem is loaded with: lsmod | grep industrialio — if output is empty, the vulnerable component is not active
- Search kernel logs for IIO buffer errors with: sudo dmesg | grep -i 'iio.*buffer' or sudo journalctl -k | grep -i 'iio.*buffer'
- Confirm patch application by checking kernel build date with: uname -v — verify it matches or exceeds the fixed version timestamp from kernel.org
FAQ
What is CVE-2022-48801?
CVE-2022-48801 is a use-after-free vulnerability in the Linux kernel's Industrial I/O (IIO) buffer subsystem where improper error handling during file descriptor creation leaves the kernel in a partially corrupted state, potentially allowing local attackers to manipulate dangling file pointers.
Is CVE-2022-48801 being actively exploited?
No, CVE-2022-48801 is not listed on the CISA Known Exploited Vulnerabilities (KEV) catalog and no public exploits are currently available, though the vulnerability's nature makes it a concern for systems with untrusted local users.
What versions of Kernel are affected by CVE-2022-48801?
Linux kernel versions 5.16.0 through 5.16.9 are vulnerable; the fix was included in kernel 5.16.10 and later stable releases.
How do I check if my server is vulnerable to CVE-2022-48801?
Run 'uname -r' and check if the output shows a kernel version between 5.16.0 and 5.16.9 inclusive. Additionally, verify the IIO subsystem is enabled with 'grep CONFIG_IIO /boot/config-$(uname -r)' — if it returns 'y' or 'm', your system is potentially vulnerable.
Does Defensia detect CVE-2022-48801?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2022-48801 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/202071d2518537866d291aa7cf26af54e674f4d4
- https://git.kernel.org/stable/c/b7f54894aa7517d2b6c797a499b9f491e9db9083
- https://git.kernel.org/stable/c/c72ea20503610a4a7ba26c769357d31602769c01
- https://git.kernel.org/stable/c/202071d2518537866d291aa7cf26af54e674f4d4
- https://git.kernel.org/stable/c/b7f54894aa7517d2b6c797a499b9f491e9db9083
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2022-48801. Free for 1 server.
Get started free