VYPR
Unrated severityNVD Advisory· Published Dec 24, 2025· Updated Apr 15, 2026

CVE-2023-54134

CVE-2023-54134

Description

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

autofs: fix memory leak of waitqueues in autofs_catatonic_mode

Syzkaller reports a memory leak:

BUG: memory leak unreferenced object 0xffff88810b279e00 (size 96): comm "syz-executor399", pid 3631, jiffies 4294964921 (age 23.870s) hex dump (first 32 bytes): 00 00 00 00 00 00 00 00 08 9e 27 0b 81 88 ff ff ..........'..... 08 9e 27 0b 81 88 ff ff 00 00 00 00 00 00 00 00 ..'............. backtrace: [] kmalloc_trace+0x20/0x90 mm/slab_common.c:1046 [] kmalloc include/linux/slab.h:576 [inline] [] autofs_wait+0x3fa/0x9a0 fs/autofs/waitq.c:378 [] autofs_do_expire_multi+0xa7/0x3e0 fs/autofs/expire.c:593 [] autofs_expire_multi+0x53/0x80 fs/autofs/expire.c:619 [] autofs_root_ioctl_unlocked+0x322/0x3b0 fs/autofs/root.c:897 [] autofs_root_ioctl+0x25/0x30 fs/autofs/root.c:910 [] vfs_ioctl fs/ioctl.c:51 [inline] [] __do_sys_ioctl fs/ioctl.c:870 [inline] [] __se_sys_ioctl fs/ioctl.c:856 [inline] [] __x64_sys_ioctl+0xfc/0x140 fs/ioctl.c:856 [] do_syscall_x64 arch/x86/entry/common.c:50 [inline] [] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 [] entry_SYSCALL_64_after_hwframe+0x63/0xcd

autofs_wait_queue structs should be freed if their wait_ctr becomes zero. Otherwise they will be lost.

In this case an AUTOFS_IOC_EXPIRE_MULTI ioctl is done, then a new waitqueue struct is allocated in autofs_wait(), its initial wait_ctr equals 2. After that wait_event_killable() is interrupted (it returns -ERESTARTSYS), so that 'wq->name.name == NULL' condition may be not satisfied. Actually, this condition can be satisfied when autofs_wait_release() or autofs_catatonic_mode() is called and, what is also important, wait_ctr is decremented in those places. Upon the exit of autofs_wait(), wait_ctr is decremented to 1. Then the unmounting process begins: kill_sb calls autofs_catatonic_mode(), which should have freed the waitqueues, but it only decrements its usage counter to zero which is not a correct behaviour.

edit:imk This description is of course not correct. The umount performed as a result of an expire is a umount of a mount that has been automounted, it's not the autofs mount itself. They happen independently, usually after everything mounted within the autofs file system has been expired away. If everything hasn't been expired away the automount daemon can still exit leaving mounts in place. But expires done in both cases will result in a notification that calls autofs_wait_release() with a result status. The problem case is the summary execution of of the automount daemon. In this case any waiting processes won't be woken up until either they are terminated or the mount is umounted. end edit: imk

So in catatonic mode we should free waitqueues which counter becomes zero.

edit: imk Initially I was concerned that the calling of autofs_wait_release() and autofs_catatonic_mode() was not mutually exclusive but that can't be the case (obviously) because the queue entry (or entries) is removed from the list when either of these two functions are called. Consequently the wait entry will be freed by only one of these functions or by the woken process in autofs_wait() depending on the order of the calls. end edit: imk

AI Insight

LLM-synthesized narrative grounded in this CVE's description and references.

A memory leak in the Linux kernel's autofs module occurs when waitqueue structs are not freed after an interrupted AUTOFS_IOC_EXPIRE_MULTI ioctl, leading to resource exhaustion.

Vulnerability

Overview

CVE-2023-54134 is a memory leak vulnerability in the Linux kernel's autofs module, specifically in the handling of waitqueues during the autofs_catatonic_mode function. The root cause is that autofs_wait_queue structs are not freed when their wait_ctr reaches zero, which can happen when a process performing an AUTOFS_IOC_EXPIRE_MULTI ioctl is interrupted (e.g., by a signal) before the waitqueue is properly released. The initial wait_ctr is set to 2, and if wait_event_killable() returns -ERESTARTSYS, the condition wq->name.name == NULL` may not be satisfied, preventing the normal cleanup path from executing.

Attack

Vector and Prerequisites

An attacker with the ability to trigger the AUTOFS_IOC_EXPIRE_MULTI ioctl on an autofs mount point can exploit this vulnerability. The attack requires local access to the system and the ability to send signals to interrupt the ioctl operation. By repeatedly triggering this sequence, the attacker can cause the kernel to leak memory, as each interrupted operation leaves an unfreed autofs_wait_queue struct. The syzkaller fuzzer demonstrated this by sending an ioctl and then interrupting it, leading to the reported memory leak.

Impact

Impact

Successful exploitation leads to a gradual depletion of kernel memory, which can result in system instability, denial of service (DoS), or resource exhaustion. The leaked objects are 96 bytes each, and repeated exploitation can exhaust available memory, potentially causing the system to crash or become unresponsive. The vulnerability is classified with a CVSS score that reflects a medium severity, as it requires local access and does not provide code execution or privilege escalation.

Mitigation

The fix for this vulnerability has been applied to the Linux kernel stable branches. Patches are available in commits such as 1985e8eae8627f02e3364690c5fed7af1c46be55 and 696b625f3f85d80fca48c24d2948fbc451e74366 [1][2][3]. Users should update their kernel to a version containing these patches to prevent the memory leak. No workaround is available other than applying the patch is available, as the issue is in core kernel code.

AI Insight generated on May 19, 2026. Synthesized from this CVE's description and the cited reference URLs; citations are validated against the source bundle.

Affected products

1

Patches

8

Vulnerability mechanics

Generated on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

8

News mentions

0

No linked articles in our index yet.