uio: Fix use-after-free in uio_open
Summary
| CVE | CVE-2023-52439 |
|---|---|
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2024-02-20 21:15:08 UTC |
| Updated | 2026-08-04 10:18:27 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved: uio: Fix use-after-free in uio_open core-1 core-2 ------------------------------------------------------- uio_unregister_device uio_open idev = idr_find() device_unregister(&idev->dev) put_device(&idev->dev) uio_device_release get_device(&idev->dev) kfree(idev) uio_free_minor(minor) uio_release put_device(&idev->dev) kfree(idev) ------------------------------------------------------- In the core-1 uio_unregister_device(), the device_unregister will kfree idev when the idev->dev kobject ref is 1. But after core-1 device_unregister, put_device and before doing kfree, the core-2 may get_device. Then: 1. After core-1 kfree idev, the core-2 will do use-after-free for idev. 2. When core-2 do uio_release and put_device, the idev will be double freed. To address this issue, we can get idev atomic & inc idev reference with minor_lock. |
Risk And Classification
Primary CVSS: v3.1 7.8 HIGH from [email protected]
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Problem Types: CWE-415
| Version | Source | Type | Score | Severity | Vector |
|---|---|---|---|---|---|
| 3.1 | [email protected] | Primary | 7.8 | HIGH | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| 3.1 | 416baaa9-dc9f-4396-8d5f-8c081fb06d67 | Secondary | 7.8 | HIGH | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| 3.1 | CNA | DECLARED | 7.8 | HIGH | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
CVSS v3.1 Breakdown
Attack Vector
LocalAttack Complexity
LowPrivileges Required
LowUser Interaction
NoneScope
UnchangedConfidentiality
HighIntegrity
HighAvailability
HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
NVD Known Affected Configurations (CPE 2.3)
| Type | Vendor | Product | Version | Update | Edition | Language |
|---|---|---|---|---|---|---|
| Operating System | Linux | Linux Kernel | All | All | All | All |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|---|---|---|---|
| CNA | Linux | Linux | affected 57c5f4df0a5a0ee83df799991251e2ee93a5e4e9 3174e0f7de1ba392dc191625da83df02d695b60c git | Not specified |
| CNA | Linux | Linux | affected 57c5f4df0a5a0ee83df799991251e2ee93a5e4e9 e93da893d52d82d57fc0db2ca566024e0f26ff50 git | Not specified |
| CNA | Linux | Linux | affected 57c5f4df0a5a0ee83df799991251e2ee93a5e4e9 5e0be1229ae199ebb90b33102f74a0f22d152570 git | Not specified |
| CNA | Linux | Linux | affected 57c5f4df0a5a0ee83df799991251e2ee93a5e4e9 5cf604ee538ed0c467abe3b4cda5308a6398f0f7 git | Not specified |
| CNA | Linux | Linux | affected 57c5f4df0a5a0ee83df799991251e2ee93a5e4e9 17a8519cb359c3b483fb5c7367efa9a8a508bdea git | Not specified |
| CNA | Linux | Linux | affected 57c5f4df0a5a0ee83df799991251e2ee93a5e4e9 35f102607054faafe78d2a6994b18d5d9d6e92ad git | Not specified |
| CNA | Linux | Linux | affected 57c5f4df0a5a0ee83df799991251e2ee93a5e4e9 913205930da6213305616ac539447702eaa85e41 git | Not specified |
| CNA | Linux | Linux | affected 57c5f4df0a5a0ee83df799991251e2ee93a5e4e9 0c9ae0b8605078eafc3bea053cc78791e97ba2e2 git | Not specified |
| CNA | Linux | Linux | affected 13af019c87f2d90e663742cb1a819834048842ae git | Not specified |
| CNA | Linux | Linux | affected 4.14.100 4.15 semver | Not specified |
| CNA | Linux | Linux | affected 4.18 | Not specified |
| CNA | Linux | Linux | unaffected 4.18 semver | Not specified |
| CNA | Linux | Linux | unaffected 4.19.306 4.19.* semver | Not specified |
| CNA | Linux | Linux | unaffected 5.4.268 5.4.* semver | Not specified |
| CNA | Linux | Linux | unaffected 5.10.209 5.10.* semver | Not specified |
| CNA | Linux | Linux | unaffected 5.15.148 5.15.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.1.74 6.1.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.6.13 6.6.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.7.1 6.7.* semver | Not specified |
| CNA | Linux | Linux | unaffected 6.8 * original_commit_for_fix | Not specified |
References
| Reference | Source | Link | Tags |
|---|---|---|---|
| git.kernel.org/stable/c/e93da893d52d82d57fc0db2ca566024e0f26ff50 | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| git.kernel.org/stable/c/5cf604ee538ed0c467abe3b4cda5308a6398f0f7 | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| git.kernel.org/stable/c/5e0be1229ae199ebb90b33102f74a0f22d152570 | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| git.kernel.org/stable/c/35f102607054faafe78d2a6994b18d5d9d6e92ad | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| lists.debian.org/debian-lts-announce/2024/06/msg00016.html | af854a3a-2127-422b-91ae-364da2661108 | lists.debian.org | |
| git.kernel.org/stable/c/0c9ae0b8605078eafc3bea053cc78791e97ba2e2 | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| git.kernel.org/stable/c/3174e0f7de1ba392dc191625da83df02d695b60c | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| git.kernel.org/stable/c/17a8519cb359c3b483fb5c7367efa9a8a508bdea | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| lists.debian.org/debian-lts-announce/2024/06/msg00020.html | af854a3a-2127-422b-91ae-364da2661108 | lists.debian.org | |
| git.kernel.org/stable/c/913205930da6213305616ac539447702eaa85e41 | af854a3a-2127-422b-91ae-364da2661108 | git.kernel.org | Patch |
| security.netapp.com/advisory/ntap-20241227-0006 | af854a3a-2127-422b-91ae-364da2661108 | security.netapp.com | |
| CVE Program record | CVE.ORG | www.cve.org | canonical |
| NVD vulnerability detail | NVD | nvd.nist.gov | canonical, analysis |
No vendor comments have been submitted for this CVE.
Legacy QID Mappings
- 200182 Ubuntu Security Notification for Linux kernel (OEM) Vulnerabilities (USN-6688-1)
- 200241 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-6726-1)
- 200242 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-6724-1)
- 200243 Ubuntu Security Notification for Linux kernel Vulnerabilities (USN-6725-1)
- 674156 EulerOS Security Update for kernel (EulerOS-SA-2024-1509)
- 674158 EulerOS Security Update for kernel (EulerOS-SA-2024-1488)
- 755965 SUSE Enterprise Linux Security Update for the linux kernel (SUSE-SU-2024:0858-1)
- 755966 SUSE Enterprise Linux Security Update for the linux kernel (SUSE-SU-2024:0857-1)
- 756004 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2024:0926-1)
- 756010 SUSE Enterprise Linux Security Update for the Linux Kernel (SUSE-SU-2024:0977-1)