CVE-2023-52730
What it is
In the Linux kernel, the following vulnerability has been resolved: mmc: sdio: fix possible resource leaks in some error paths If sdio_add_func() or sdio_init_func() fails, sdio_remove_func() can not release the resources, because the sdio function is not presented in these two cases, it won't call of_node_put() or put_device(). To fix these leaks, make sdio_func_present() only control whether device_del() needs to be called or not, then always call of_node_put() and put_device(). In error case in sdio_init_func(), the reference of 'card->dev' is not get, to avoid redundant put in sdio_free_func_cis(), move the get_device() to sdio_alloc_func() and put_device() to sdio_release_func(), it can keep the get/put function be balanced. Without this patch, while doing fault inject test, it can get the following leak reports, after this fix, the leak is gone. unreferenced object 0xffff888112514000 (size 2048): comm "kworker/3:2", pid 65, jiffies 4294741614 (age 124.774s) hex dump (first 32 bytes): 00 e0 6f 12 81 88 ff ff 60 58 8d 06 81 88 ff ff ..o.....`X...... 10 40 51 12 81 88 ff ff 10 40 51 12 81 88 ff ff .@Q......@Q..... backtrace: [<000000009e5931da>] kmalloc_trace+0x21/0x110 [<000000002f839ccb>] mmc_alloc_card+0x38/0xb0 [mmc_core] [<0000000004adcbf6>] mmc_sdio_init_card+0xde/0x170 [mmc_core] [<000000007538fea0>] mmc_attach_sdio+0xcb/0x1b0 [mmc_core] [<00000000d4fdeba7>] mmc_rescan+0x54a/0x640 [mmc_core] unreferenced object 0xffff888112511000 (size 2048): comm "kworker/3:2", pid 65, jiffies 4294741623 (age 124.766s) hex dump (first 32 bytes): 00 40 51 12 81 88 ff ff e0 58 8d 06 81 88 ff ff [email protected]...... 10 10 51 12 81 88 ff ff 10 10 51 12 81 88 ff ff ..Q.......Q..... backtrace: [<000000009e5931da>] kmalloc_trace+0x21/0x110 [<00000000fcbe706c>] sdio_alloc_func+0x35/0x100 [mmc_core] [<00000000c68f4b50>] mmc_attach_sdio.cold.18+0xb1/0x395 [mmc_core] [<00000000d4fdeba7>] mmc_rescan+0x54a/0x640 [mmc_core]
At a glance
- Exploitability
- Can be exploited locally on the machine with a low-privilege account. High risk of service disruption.
- Exploit odds
- 0.3% chance of exploitation in the next 30 days (EPSS).
- Fix
- A patch, advisory or fixed version is referenced. Upgrade or apply it.
Timeline
- PublishedDisclosed publicly on CVE.org and NVD
- Last updatedMost recent change to the record
Why it ranks here
- Exploited in the wild: no, CISA does not list it.
- Exploit odds: 0.3% in the next 30 days (EPSS).
- Severity: 5.5 MEDIUM (CVSS).
- Fix: a patch or advisory is linked.
Details
- Published
- Last modified
- Exploit probability
- 0.3% · EPSS, next 30 days
- Weakness
- CWE-401
- Record status
- Analyzed
Affected
- Linux Kernel < 4.14.306
- Linux Kernel < 4.19.273
- Linux Kernel < 5.4.232
- Linux Kernel < 5.10.169
- Linux Kernel < 5.15.95
- Linux Kernel < 6.1.13
- Linux Kernel 6.2
Attack profile CVSS 3.1 · 5.5
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Raw vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Is it in your code?
Hand this to your coding agent. It searches your project for the affected products and checks versions. Nothing leaves your machine.
Read https://cve-list.com/agent/cve/CVE-2023-52730.md and follow it. Check whether this project is affected by CVE-2023-52730. Read only. Don't change anything and don't upload my code. Tell me yes, no or not sure, with the file as proof.
Fix and advisories
- https://git.kernel.org/stable/c/1e06cf04239e202248c8fa356bf11449dc73cfbd
- https://git.kernel.org/stable/c/30716d9f0fa1766e522cf24c8a456244e4fc9931
- https://git.kernel.org/stable/c/5c7858adada31dbed042448cff6997dd6efc472a
- https://git.kernel.org/stable/c/605d9fb9556f8f5fb4566f4df1480f280f308ded
- https://git.kernel.org/stable/c/761db46b29b496946046d8cb33c7ea6de6bef36e
- https://git.kernel.org/stable/c/92ff03c2563c9b57a027c744750f3b7d2f261c58
- https://git.kernel.org/stable/c/f855d31bb38d663c3ba672345d7cce9324ba3b72
- https://git.kernel.org/stable/c/1e06cf04239e202248c8fa356bf11449dc73cfbd
- https://git.kernel.org/stable/c/30716d9f0fa1766e522cf24c8a456244e4fc9931
- https://git.kernel.org/stable/c/5c7858adada31dbed042448cff6997dd6efc472a
References
- https://git.kernel.org/stable/c/1e06cf04239e202248c8fa356bf11449dc73cfbd
- https://git.kernel.org/stable/c/30716d9f0fa1766e522cf24c8a456244e4fc9931
- https://git.kernel.org/stable/c/5c7858adada31dbed042448cff6997dd6efc472a
- https://git.kernel.org/stable/c/605d9fb9556f8f5fb4566f4df1480f280f308ded
- https://git.kernel.org/stable/c/761db46b29b496946046d8cb33c7ea6de6bef36e
- https://git.kernel.org/stable/c/92ff03c2563c9b57a027c744750f3b7d2f261c58
- https://git.kernel.org/stable/c/f855d31bb38d663c3ba672345d7cce9324ba3b72
- https://git.kernel.org/stable/c/1e06cf04239e202248c8fa356bf11449dc73cfbd
- https://git.kernel.org/stable/c/30716d9f0fa1766e522cf24c8a456244e4fc9931
- https://git.kernel.org/stable/c/5c7858adada31dbed042448cff6997dd6efc472a
- https://git.kernel.org/stable/c/605d9fb9556f8f5fb4566f4df1480f280f308ded
- https://git.kernel.org/stable/c/761db46b29b496946046d8cb33c7ea6de6bef36e
- https://git.kernel.org/stable/c/92ff03c2563c9b57a027c744750f3b7d2f261c58
- https://git.kernel.org/stable/c/f855d31bb38d663c3ba672345d7cce9324ba3b72