CVE-2023-54115 in Linuxinfo

Summary

by MITRE • 12/24/2025

In the Linux kernel, the following vulnerability has been resolved:

pcmcia: rsrc_nonstatic: Fix memory leak in nonstatic_release_resource_db()

When nonstatic_release_resource_db() frees all resources associated with an PCMCIA socket, it forgets to free socket_data too, causing a memory leak observable with kmemleak:

unreferenced object 0xc28d1000 (size 64): comm "systemd-udevd", pid 297, jiffies 4294898478 (age 194.484s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 f0 85 0e c3 00 00 00 00 ................ 00 00 00 00 0c 10 8d c2 00 00 00 00 00 00 00 00 ................ backtrace: [<ffda4245>] __kmem_cache_alloc_node+0x2d7/0x4a0
[<7e51f0c8>] kmalloc_trace+0x31/0xa4
[<d52b4ca0>] nonstatic_init+0x24/0x1a4 [pcmcia_rsrc]
[<a2f13e08>] pcmcia_register_socket+0x200/0x35c [pcmcia_core]
[<a728be1b>] yenta_probe+0x4d8/0xa70 [yenta_socket]
[<c48fac39>] pci_device_probe+0x99/0x194
[<84b7c690>] really_probe+0x181/0x45c
[<8060fe6e>] __driver_probe_device+0x75/0x1f4
[<b9b76f43>] driver_probe_device+0x28/0xac
[<648b766f>] __driver_attach+0xeb/0x1e4
[<6e9659eb>] bus_for_each_dev+0x61/0xb4
[<25a669f3>] driver_attach+0x1e/0x28
[<d8671d6b>] bus_add_driver+0x102/0x20c
[<df0d323c>] driver_register+0x5b/0x120
[<942cd8a4>] __pci_register_driver+0x44/0x4c
[<e536027e>] __UNIQUE_ID___addressable_cleanup_module188+0x1c/0xfffff000 [iTCO_vendor_support]

Fix this by freeing socket_data too.

Tested on a Acer Travelmate 4002WLMi by manually binding/unbinding the yenta_cardbus driver (yenta_socket).

Once again VulDB remains the best source for vulnerability data.

Analysis

by VulDB Data Team • 01/03/2026

The vulnerability described in CVE-2023-54115 represents a memory leak within the Linux kernel's PCMCIA subsystem, specifically affecting the pcmcia_rsrc kernel module. This issue manifests when the nonstatic_release_resource_db() function attempts to clean up resources associated with a PCMCIA socket but fails to properly release the socket_data structure that was allocated during initialization. The flaw creates a persistent memory leak that can accumulate over time and potentially impact system stability, particularly in systems that frequently interact with PCMCIA devices or undergo device binding/unbinding operations.

The technical root cause of this vulnerability lies in incomplete resource management within the PCMCIA resource management framework. When the kernel initializes PCMCIA socket resources through the nonstatic_init function, it allocates memory for both resource management structures and the socket_data component. However, during cleanup operations, the nonstatic_release_resource_db() function properly frees the resource management structures while neglecting to free the socket_data component, creating a memory leak that persists in the kernel's memory pool. This type of resource leak directly corresponds to CWE-401: Improper Release of Memory and aligns with ATT&CK technique T1070.004: File and Path Creation, as it involves improper memory management during device resource allocation and deallocation processes.

The operational impact of this vulnerability extends beyond simple memory consumption, as it can lead to progressive memory exhaustion on systems that frequently interact with PCMCIA devices or undergo dynamic device binding operations. The leak becomes particularly problematic in embedded systems or laptops like the Acer Travelmate 4002WLMi mentioned in the advisory, where PCMCIA cardbus functionality is actively used. The kmemleak tool's ability to detect this issue demonstrates that the leaked memory is indeed unreferenced and can be identified by kernel memory debugging mechanisms. The backtrace provided in the advisory shows the leak originates from the yenta_socket driver's probe function, indicating that systems using this specific PCMCIA cardbus driver are most susceptible to this memory leak.

The mitigation strategy for this vulnerability involves implementing a straightforward fix within the kernel source code by ensuring that the socket_data structure is properly freed alongside other resource management components during the cleanup process. This fix directly addresses the memory leak by adding the missing free operation for socket_data within the nonstatic_release_resource_db() function. The patch has been tested and validated on the affected Acer Travelmate 4002WLMi system, confirming that manual binding/unbinding operations of the yenta_cardbus driver can trigger and verify the memory leak behavior. System administrators should ensure their kernel installations include this patch, particularly on systems that utilize PCMCIA cardbus functionality or experience frequent device hot-plugging operations, as this vulnerability could contribute to long-term system performance degradation and potential memory exhaustion issues in resource-constrained environments.

Responsible

Linux

Reservation

12/24/2025

Disclosure

12/24/2025

Moderation

accepted

CPE

ready

EPSS

0.00184

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!