Bug 1227976 (CVE-2022-48821) - VUL-0: CVE-2022-48821: kernel: misc: fastrpc: avoid double fput() on failed usercopy
Summary: VUL-0: CVE-2022-48821: kernel: misc: fastrpc: avoid double fput() on failed u...
Status: NEW
Alias: CVE-2022-48821
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P2 - High : Major
Target Milestone: ---
Assignee: Security Team bot
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/414244/
Whiteboard: CVSSv3.1:SUSE:CVE-2022-48821:7.8:(AV:...
Keywords:
Depends on:
Blocks: 1228022
  Show dependency treegraph
 
Reported: 2024-07-16 19:40 UTC by SMASH SMASH
Modified: 2024-07-18 14:11 UTC (History)
4 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description SMASH SMASH 2024-07-16 19:40:03 UTC
In the Linux kernel, the following vulnerability has been resolved:

misc: fastrpc: avoid double fput() on failed usercopy

If the copy back to userland fails for the FASTRPC_IOCTL_ALLOC_DMA_BUFF
ioctl(), we shouldn't assume that 'buf->dmabuf' is still valid. In fact,
dma_buf_fd() called fd_install() before, i.e. "consumed" one reference,
leaving us with none.

Calling dma_buf_put() will therefore put a reference we no longer own,
leading to a valid file descritor table entry for an already released
'file' object which is a straight use-after-free.

Simply avoid calling dma_buf_put() and rely on the process exit code to
do the necessary cleanup, if needed, i.e. if the file descriptor is
still valid.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2022-48821
https://git.kernel.org/pub/scm/linux/security/vulns.git/plain/cve/published/2022/CVE-2022-48821.mbox
https://git.kernel.org/stable/c/4e6fd2b5fcf8e7119305a6042bd92e7f2b9ed215
https://git.kernel.org/stable/c/a5ce7ee5fcc07583159f54ab4af5164de00148f5
https://git.kernel.org/stable/c/e4382d0a39f9a1e260d62fdc079ddae5293c037d
https://git.kernel.org/stable/c/76f85c307ef9f10aa2cef1b1d5ee654c1f3345fc
https://git.kernel.org/stable/c/46963e2e0629cb31c96b1d47ddd89dc3d8990b34
https://www.cve.org/CVERecord?id=CVE-2022-48821
Comment 3 Takashi Iwai 2024-07-18 14:11:44 UTC
In anyway, the patch is so trivial and cleanly applicable, so I backported to cve/linux-5.3-LTSS branch now.