CVE-2023-52730·Kernel vulnerability
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 .@Q......X...... 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]
- Severity
- medium
- Software
- Kernel
- Fixed in
- 6.1.13
- Published
How likely is exploitation
FIRST's Exploit Prediction Scoring System puts the probability of this CVE being exploited in the next 30 days at <0.1% — in the bottom 1% of all published CVEs. EPSS is an independent forecast of exploitation, not a severity rating: it says nothing about how much damage a successful attack does, which is what a CVSS score measures.
Affected versions
From: 5.16
Until: 6.1.13
Fixed in: 6.1.13
How to fix this CVE
Update your Linux kernel to version 6.1.13 or later to patch a resource leak vulnerability in the SDIO subsystem. This vulnerability can cause memory leaks when SDIO function initialization or addition fails during device enumeration. Apply this update as part of your regular kernel maintenance cycle to prevent gradual memory exhaustion on systems with SD card readers or other SDIO devices.
sudo dnf update kernel kernel-headers kernel-develDefensia detects this vulnerability
How to check if you are affected
- Check your kernel version: uname -r (vulnerable if output shows 5.16 through 6.1.12)
- Verify SDIO devices are present: lsmod | grep sdio (look for mmc_core, mmc_sdio_ops loaded)
- Check kernel logs for SDIO initialization errors: sudo dmesg | grep -i 'sdio\|mmc' (look for device_add or func_init failures)
- After patching, verify fix: uname -r should show 6.1.13 or higher, and no memory leak warnings should appear in dmesg during SD card enumeration
FAQ
What is CVE-2023-52730?
This vulnerability describes a resource leak in the Linux kernel's SDIO (Secure Digital I/O) subsystem where dynamically allocated device structures and reference counts are not properly freed when SDIO function initialization or registration fails, causing memory exhaustion over time.
Is CVE-2023-52730 being actively exploited?
No, this vulnerability is not listed in CISA's Known Exploited Vulnerabilities catalog and has no public exploits available. It requires physical or internal access to trigger SDIO device failures.
What versions of Kernel are affected by CVE-2023-52730?
Linux kernel versions 5.16 through 6.1.12 are vulnerable; version 6.1.13 and later contain the fix.
How do I check if my server is vulnerable to CVE-2023-52730?
Run 'uname -r' and compare the output against the affected range 5.16–6.1.12. If your version falls in this range and you have SDIO devices (check 'lsmod | grep mmc'), your system is vulnerable.
Does Defensia detect CVE-2023-52730?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If the Linux kernel is installed on a monitored server, CVE-2023-52730 will appear in your dashboard with remediation steps.
Related Kernel CVEs
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
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2023-52730. Free for 1 server.
Get started free