CVE-2023-52887 in Linuxinfo

Summary

by MITRE • 07/29/2024

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

net: can: j1939: enhanced error handling for tightly received RTS messages in xtp_rx_rts_session_new

This patch enhances error handling in scenarios with RTS (Request to Send) messages arriving closely. It replaces the less informative WARN_ON_ONCE backtraces with a new error handling method. This provides clearer error messages and allows for the early termination of problematic sessions. Previously, sessions were only released at the end of j1939_xtp_rx_rts().

Potentially this could be reproduced with something like: testj1939 -r vcan0:0x80 & while true; do # send first RTS cansend vcan0 18EC8090#1014000303002301; # send second RTS cansend vcan0 18EC8090#1014000303002301; # send abort cansend vcan0 18EC8090#ff00000000002301; done

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Analysis

by VulDB Data Team • 09/26/2025

The vulnerability identified as CVE-2023-52887 resides within the Linux kernel's CAN (Controller Area Network) subsystem, specifically within the J1939 protocol implementation. This issue affects the xtp_rx_rts_session_new function which handles RTS (Request to Send) message processing in the J1939 transport layer. The problem manifests when multiple RTS messages arrive in rapid succession, creating a race condition scenario that was inadequately handled by previous error detection mechanisms. The J1939 protocol is widely used in automotive and industrial applications for vehicle communication and control systems, making this vulnerability particularly concerning for embedded systems and automotive cybersecurity.

The technical flaw stems from the use of WARN_ON_ONCE macros which provide limited diagnostic information and do not properly terminate problematic sessions early in the processing pipeline. This weak error handling mechanism allowed malformed or maliciously crafted RTS messages to continue processing through the J1939 transport layer, potentially leading to resource exhaustion or system instability. The vulnerability represents a classic case of inadequate input validation and error recovery in real-time communication protocols, where the system should have terminated sessions immediately upon detecting anomalous message sequences rather than allowing them to proceed until the end of the processing function.

The operational impact of this vulnerability extends beyond simple system stability concerns into potential security implications for automotive and industrial control systems. When attackers can manipulate the timing and sequence of RTS messages, they may be able to force the kernel into resource exhaustion states or create denial of service conditions that could affect vehicle operations or industrial automation systems. The ability to repeatedly send RTS messages in tight succession as demonstrated in the test case could lead to memory leaks, CPU resource exhaustion, or other stability issues that would compromise the availability of critical communication channels. This vulnerability aligns with CWE-248 Uncaught Exception patterns and could be leveraged in attack scenarios targeting automotive cybersecurity frameworks.

The patch addressing CVE-2023-52887 introduces enhanced error handling mechanisms that replace the previous WARN_ON_ONCE backtraces with more robust error detection and session termination procedures. This improvement ensures that problematic sessions are terminated immediately upon detection of irregular RTS message sequences rather than being allowed to persist until the completion of the j1939_xtp_rx_rts() function. The enhanced error handling provides clearer diagnostic messages that aid in system debugging and security analysis while preventing the propagation of malformed data through the transport layer. This change directly addresses ATT&CK technique T1499.001 for resource exhaustion and aligns with security best practices for real-time embedded systems. The mitigation approach follows industry standards for secure coding practices in kernel space, particularly those related to proper error handling in network protocol implementations and the prevention of resource leaks in real-time systems.

Responsible

Linux

Reservation

05/21/2024

Disclosure

07/29/2024

Moderation

accepted

CPE

ready

EPSS

0.00226

KEV

no

Activities

very low

Sources

Want to know what is going to be exploited?

We predict KEV entries!