{"id":"CVE-2022-48801","summary":"iio: buffer: Fix file related error handling in IIO_BUFFER_GET_FD_IOCTL","details":"In the Linux kernel, the following vulnerability has been resolved:\n\niio: buffer: Fix file related error handling in IIO_BUFFER_GET_FD_IOCTL\n\nIf we fail to copy the just created file descriptor to userland, we\ntry to clean up by putting back 'fd' and freeing 'ib'. The code uses\nput_unused_fd() for the former which is wrong, as the file descriptor\nwas already published by fd_install() which gets called internally by\nanon_inode_getfd().\n\nThis makes the error handling code leaving a half cleaned up file\ndescriptor table around and a partially destructed 'file' object,\nallowing userland to play use-after-free tricks on us, by abusing\nthe still usable fd and making the code operate on a dangling\n'file-\u003eprivate_data' pointer.\n\nInstead of leaving the kernel in a partially corrupted state, don't\nattempt to explicitly clean up and leave this to the process exit\npath that'll release any still valid fds, including the one created\nby the previous call to anon_inode_getfd(). Simply return -EFAULT to\nindicate the error.","modified":"2026-03-20T12:21:53.509954Z","published":"2024-07-16T11:43:54.253Z","related":["SUSE-SU-2024:2894-1","SUSE-SU-2024:2902-1","SUSE-SU-2024:2929-1","SUSE-SU-2024:2939-1","SUSE-SU-2024:2947-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/48xxx/CVE-2022-48801.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/202071d2518537866d291aa7cf26af54e674f4d4"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b7f54894aa7517d2b6c797a499b9f491e9db9083"},{"type":"WEB","url":"https://git.kernel.org/stable/c/c72ea20503610a4a7ba26c769357d31602769c01"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/48xxx/CVE-2022-48801.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-48801"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"f73f7f4da581875f9b1f2fb8ebd1ab15ed634488"},{"fixed":"b7f54894aa7517d2b6c797a499b9f491e9db9083"},{"fixed":"202071d2518537866d291aa7cf26af54e674f4d4"},{"fixed":"c72ea20503610a4a7ba26c769357d31602769c01"}]}],"database_specific":{"source":"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-48801.json"}}],"schema_version":"1.7.5"}