CVE-2024-41048
kernel: skmsg: Skip zero length skb in sk_msg_recvmsg
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · July 29, 2024
Updated · September 13, 2026
Description
A zero-length socket buffer (skb) can be placed on the sk_msg ingress queue. This occurs when a TCP FIN is processed, such as when shutdown(p1, SHUT_WR) is called. Because the skb has zero length, no memory page is associated with its scatter-gather entry.
Later, sk_msg_recvmsg() processes this empty entry and obtains a NULL page pointer through sg_page(). The NULL pointer is then passed through copy_page_to_iter() to kmap_local_page()/page_address(). On architectures such as LoongArch, this results in a kernel panic. The issue was less visible on x86 because of architecture-specific page_address() behavior.
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
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.
CVSS / CWE
CVSS 3.1 · 5CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:N/I:N/A:H
CWE-476 · NULL Pointer Dereference