CVE Database›CVE-2023-54039

CVE-2023-54039

kernel: can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access

Loading…

Severity

Moderate

Red Hat Product Security

6.2

CVSS 3.1

Review impact separately from score.

Published · December 24, 2025

Updated · June 30, 2026

Description

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

can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access

In the j1939_tp_tx_dat_new() function, an out-of-bounds memory access could occur during the memcpy() operation if the size of skb->cb is larger than the size of struct j1939_sk_buff_cb. This is because the memcpy() operation uses the size of skb->cb, leading to a read beyond the struct j1939_sk_buff_cb.

Updated the memcpy() operation to use the size of struct j1939_sk_buff_cb instead of the size of skb->cb. This ensures that the memcpy() operation only reads the memory within the bounds of struct j1939_sk_buff_cb, preventing out-of-bounds memory access.

Additionally, add a BUILD_BUG_ON() to check that the size of skb->cb is greater than or equal to the size of struct j1939_sk_buff_cb. This ensures that the skb->cb buffer is large enough to hold the j1939_sk_buff_cb structure.

[mkl: rephrase commit message]

Statement

This patch fixes an out-of-bounds read in the J1939 transport path where memcpy() used sizeof(skb->cb) and could read past the end of struct j1939_sk_buff_cb. The impact is primarily confidentiality (potential kernel memory disclosure), with no direct memory corruption primitive. Triggerability is typically local and depends on J1939/CAN being enabled and accessible to the attacker.

CVSS score applicability

The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.

Mitigation

No mitigation is specified in collected source.

CVSS / CWE

CVSS 3.1 · 6.2
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

CWE-125 · Out-of-bounds Read