CVE-2024-39506

liquidio: Adjust a NULL pointer handling path in lio_vf_rep_copy_packet

MEDIUM
5.5
CVSS Score
Published: July 12, 2024 at 12:20 PM UTC
Updated: June 17, 2026 at 07:42 AM UTC
1 product affected across 1 vendorLinux Kernel

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

Description

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.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

4.15 ≤ v < 4.19.3174.15 ≤ v < 5.10.2214.15 ≤ v < 5.15.1624.15 ≤ v < 5.4.2794.15 ≤ v < 6.1.954.15 ≤ v < 6.104.15 ≤ v < 6.6.354.15 ≤ v < 6.9.64.20 ≤ v < 5.4.2795.11 ≤ v < 5.15.1625.16 ≤ v < 6.1.955.5 ≤ v < 5.10.2216.2 ≤ v < 6.6.356.7 ≤ v < 6.9.61f233f327913f3dee0602cba9c64df1903772b556.10 rc16.10 rc26.10 rc3
Vendor states this is fixed in 87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2 (fixed)
Vendor states this is fixed in a6f4d0ec170a46b5f453cacf55dff5989b42bbfa (fixed)
Vendor states this is fixed in a86490a3712cc513113440a606a0e77130abd47c (fixed)
Vendor states this is fixed in c44711b78608c98a3e6b49ce91678cd0917d5349 (fixed)
Vendor states this is fixed in cbf18d8128a753cb632bef39470d19befd9c7347 (fixed)
Vendor states this is fixed in dcc7440f32c7a26b067aff6e7d931ec593024a79 (fixed)
Vendor states this is fixed in f1ab15a09492a5ae8ab1e2c35ba2cf9e150d25ee (fixed)
Vendor states this is fixed in fd2b613bc4c508e55c1221c6595bb889812a4fea (fixed)
Vendor states this is fixed in 4.15 (unaffected)
Vendor states this is fixed in 4.19.317 (unaffected)
Vendor states this is fixed in 5.10.221 (unaffected)
Vendor states this is fixed in 5.15.162 (unaffected)
Vendor states this is fixed in 5.4.279 (unaffected)
Vendor states this is fixed in 6.1.95 (unaffected)
Vendor states this is fixed in 6.10 (unaffected)
Vendor states this is fixed in 6.6.35 (unaffected)
Vendor states this is fixed in 6.9.6 (unaffected)

References (9)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a6f4d0ec170a46b5f453cacf55dff5989b42bbfa
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/a86490a3712cc513113440a606a0e77130abd47c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/c44711b78608c98a3e6b49ce91678cd0917d5349
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/cbf18d8128a753cb632bef39470d19befd9c7347
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/dcc7440f32c7a26b067aff6e7d931ec593024a79
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/f1ab15a09492a5ae8ab1e2c35ba2cf9e150d25ee
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/fd2b613bc4c508e55c1221c6595bb889812a4fea

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
CWE-476

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card