CVE-2024-39506

CVSS v3.1 5.5 (Medium)
55% Progress
EPSS 0.04 % (5th)
0.04% Progress
Affected Products 1
Advisories 24
NVD Status Analyzed

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

liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet

In lio_vf_rep_copy_packet() pg_info->page is compared to a NULL value,
but then it is unconditionally passed to skb_add_rx_frag() which looks
strange and could lead to null pointer dereference.

lio_vf_rep_copy_packet() call trace looks like:
octeon_droq_process_packets
octeon_droq_fast_process_packets
octeon_droq_dispatch_pkt
octeon_create_recv_info
...search in the dispatch_list...
->disp_fn(rdisp->rinfo, ...)
lio_vf_rep_pkt_recv(struct octeon_recv_info *recv_info, ...)
In this path there is no code which sets pg_info->page to NULL.
So this check looks unneeded and doesn't solve potential problem.
But I guess the author had reason to add a check and I have no such card
and can't do real test.
In addition, the code in the function liquidio_push_packet() in
liquidio/lio_core.c does exactly the same.

Based on this, I consider the most acceptable compromise solution to
adjust this issue by moving skb_add_rx_frag() into conditional scope.

Found by Linux Verification Center (linuxtesting.org) with SVACE.

Weaknesses
CWE-476
NULL Pointer Dereference
CVE Status
PUBLISHED
NVD Status
Analyzed
CNA
kernel.org
Published Date
2024-07-12 13:15:12
(2 months ago)
Updated Date
2024-08-28 19:58:56
(3 weeks ago)

Affected Products

Loading...
Loading...

Configuration #1

    CPE23 From Up To
  Linux Kernel from 4.15 version and prior 4.19.317 version cpe:2.3:o:linux:linux_kernel >= 4.15 < 4.19.317
  Linux Kernel from 4.20 version and prior 5.4.279 version cpe:2.3:o:linux:linux_kernel >= 4.20 < 5.4.279
  Linux Kernel from 5.5 version and prior 5.10.221 version cpe:2.3:o:linux:linux_kernel >= 5.5 < 5.10.221
  Linux Kernel from 5.11 version and prior 5.15.162 version cpe:2.3:o:linux:linux_kernel >= 5.11 < 5.15.162
  Linux Kernel from 5.16 version and prior 6.1.95 version cpe:2.3:o:linux:linux_kernel >= 5.16 < 6.1.95
  Linux Kernel from 6.2 version and prior 6.6.35 version cpe:2.3:o:linux:linux_kernel >= 6.2 < 6.6.35
  Linux Kernel from 6.7 version and prior 6.9.6 version cpe:2.3:o:linux:linux_kernel >= 6.7 < 6.9.6
  Linux Kernel 6.10 Rc1 cpe:2.3:o:linux:linux_kernel:6.10:rc1
  Linux Kernel 6.10 Rc2 cpe:2.3:o:linux:linux_kernel:6.10:rc2
  Linux Kernel 6.10 Rc3 cpe:2.3:o:linux:linux_kernel:6.10:rc3
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...