CVE-2022-48801

HIGH EPSS 20.1%
Published Jul 16, 20241y ago · Modified Jun 17, 20262w ago
7.8 CVSS 3.1
High
Find Similar
Published Jul 16, 2024 1y ago
Last Modified Jun 17, 2026 2w ago

Description

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.

CVSS Details

Base Score
7.8
Exploitability
1.8
Impact
5.9
Vector string
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attack Vector Local
Attack Complexity Low
Privileges Required Low
User Interaction None
Scope Unchanged
Confidentiality High
Integrity High
Availability High

Threat Intelligence

EPSS Exploit Probability
20.1% percentile
Exploit & Patch Status
No Known Exploit
Patch Available

Weaknesses 1

CWE-416 Use After Free Memory Safety

Affected Products 5

VendorProductVersionRange
linuxlinux_kernel*≥5.13  –  <5.15.24
linuxlinux_kernel*≥5.16  –  <5.16.10
linuxlinux_kernel5.17any
linuxlinux_kernel5.17any
linuxlinux_kernel5.17any

References 3

  • git.kernel.org https://git.kernel.org/stable/c/202071d2518537866d291aa7cf26af54e674f4d4
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/b7f54894aa7517d2b6c797a499b9f491e9db9083
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/c72ea20503610a4a7ba26c769357d31602769c01
    Patch

Remediation

  • git.kernel.org https://git.kernel.org/stable/c/202071d2518537866d291aa7cf26af54e674f4d4
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/b7f54894aa7517d2b6c797a499b9f491e9db9083
    Patch
  • git.kernel.org https://git.kernel.org/stable/c/c72ea20503610a4a7ba26c769357d31602769c01
    Patch