bpf, sockmap: Fix NULL pointer dereference in sk_psock_verdict_data_ready() (Linux Linux)

CVE-2024-26731
MEDIUM 5.3

At a glance

Source
NVD
EPSS
EPSS 0.83 % · percentile 58 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Analyzed

Description

In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix NULL pointer dereference in sk_psock_verdict_data_ready() syzbot reported the following NULL pointer dereference issue [1]: BUG: kernel NULL pointer dereference, address: 0000000000000000 [...] RIP: 0010:0x0 [...] Call Trace: <TASK> sk_psock_verdict_data_ready+0x232/0x340 net/core/skmsg.c:1230 unix_stream_sendmsg+0x9b4/0x1230 net/unix/af_unix.c:2293 sock_sendmsg_nosec net/socket.c:730 [inline] __sock_sendmsg+0x221/0x270 net/socket.c:745 ____sys_sendmsg+0x525/0x7d0 net/socket.c:2584 ___sys_sendmsg net/socket.c:2638 [inline] __sys_sendmsg+0x2b0/0x3a0 net/socket.c:2667 do_syscall_64+0xf9/0x240 entry_SYSCALL_64_after_hwframe+0x6f/0x77 If sk_psock_verdict_data_ready() and sk_psock_stop_verdict() are called concurrently, psock->saved_data_ready can be NULL, causing the above issue. This patch fixes this issue by calling the appropriate data ready function using the sk_psock_data_ready() helper and protecting it from concurrency with sk->sk_callback_lock.

Weaknesses (CWE)

  • CWE-476 — NULL Pointer Dereference

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.3CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LCISA-ADP
CVSS 3.1MEDIUM 5.3CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:LNVD · 134c704f-9b21-4f2e-91b3-4a467353bcc0 (Secondary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected dd628fc697ee59b76bd3877c4bd13f07ccc3776f < 4588b13abcbd561ec67f5b3c1cb2eff690990a54 ; affected 6df7f764cd3cf5a03a4a47b23be47e57e41fcd85 < 9b099ed46dcaf1403c531ff02c3d7400fa37fa26 ; affected 6df7f764cd3cf5a03a4a47b23be47e57e41fcd85 < d61608a4e394f23e0dca099df9eb8e555453d949 ; affected 6df7f764cd3cf5a03a4a47b23be47e57e41fcd85 < 4cd12c6065dfcdeba10f49949bffcf383b3952d8 ; affected d3cbd7c571446a876aefd8320500300b2c951c58 ; affected 6.1.32 < 6.1.80
Linux · Linuxaffected 6.4 ; unaffected 0 < 6.4 ; unaffected 6.1.80 ≤ 6.1.* ; unaffected 6.6.19 ≤ 6.6.* ; unaffected 6.7.7 ≤ 6.7.* ; unaffected 6.8 ≤ *

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD