CVE-2026-31411
Use-After-Free Vulnerability in Linux ATM sigd_send() Causes Crash
Publication date: 2026-04-08
Last updated on: 2026-04-08
Assigner: kernel.org
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| linux | linux_kernel | * |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-UNKNOWN |
Attack-Flow Graph
AI Powered Q&A
What immediate steps should I take to mitigate this vulnerability?
The vulnerability is fixed by validating the vcc pointer in the Linux kernel's ATM send path to prevent crashes caused by unvalidated pointers.
Immediate mitigation steps include updating the Linux kernel to a version that includes the fix which introduces the find_get_vcc() function. This function validates the vcc pointer by searching through vcc_hash and acquiring a reference if found, preventing arbitrary pointer dereferencing.
Can you explain this vulnerability to me?
This vulnerability exists in the Linux kernel's ATM networking code, specifically in the function sigd_send(). The function reads a vcc pointer from a message structure without validating it. This pointer originates from userspace via the sendmsg() system call and can be forged by a malicious user.
Because the kernel uses this unvalidated pointer directly, an attacker can supply an arbitrary pointer value, causing the kernel to dereference invalid memory. This can lead to a crash or other unintended behavior.
The vulnerability arises because the ATM signaling daemon is expected to return the same vcc pointer it received, but a malicious daemon can send arbitrary pointers. The fix involves validating the pointer by searching through a hash of valid vccs and acquiring a reference to ensure the pointer is legitimate before use.
How can this vulnerability impact me? :
This vulnerability can cause the Linux kernel to crash due to dereferencing an invalid pointer supplied by a malicious user or daemon. Such crashes can lead to denial of service (DoS) conditions, affecting system availability.
Additionally, if exploited in a more sophisticated manner, it could potentially lead to memory corruption or other undefined behavior, which might be leveraged for privilege escalation or other attacks, although the description primarily highlights crash risks.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability involves the Linux kernel ATM subsystem where an unvalidated vcc pointer from userspace can cause a crash. Detection would involve monitoring for abnormal crashes or kernel messages related to ATM signaling daemon operations, especially those involving sendmsg calls on AF_ATMSVC sockets.
Since the vulnerability is triggered by sending a forged vcc pointer via sendmsg on an AF_ATMSVC socket, one way to detect attempts is to monitor or audit usage of such sockets and ioctl calls related to ATMSIGD_CTRL.
No specific detection commands are provided in the context or resources, but a possible approach is to use system tracing or auditing tools to watch for suspicious sendmsg calls on AF_ATMSVC sockets or unexpected ioctl calls.
- Use strace or auditd to monitor sendmsg calls on AF_ATMSVC sockets.
- Check kernel logs (dmesg) for crashes or oops messages related to atm or sigd_send.
- Use commands like: sudo strace -e trace=sendmsg -p <pid_of_atm_signaling_daemon>