CVE-2024-39506

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*

History

21 Nov 2024, 09:27

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2 - Patch () https://git.kernel.org/stable/c/87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2 - Patch
References () https://git.kernel.org/stable/c/a6f4d0ec170a46b5f453cacf55dff5989b42bbfa - Patch () https://git.kernel.org/stable/c/a6f4d0ec170a46b5f453cacf55dff5989b42bbfa - Patch
References () https://git.kernel.org/stable/c/a86490a3712cc513113440a606a0e77130abd47c - Patch () https://git.kernel.org/stable/c/a86490a3712cc513113440a606a0e77130abd47c - Patch
References () https://git.kernel.org/stable/c/c44711b78608c98a3e6b49ce91678cd0917d5349 - Patch () https://git.kernel.org/stable/c/c44711b78608c98a3e6b49ce91678cd0917d5349 - Patch
References () https://git.kernel.org/stable/c/cbf18d8128a753cb632bef39470d19befd9c7347 - Patch () https://git.kernel.org/stable/c/cbf18d8128a753cb632bef39470d19befd9c7347 - Patch
References () https://git.kernel.org/stable/c/dcc7440f32c7a26b067aff6e7d931ec593024a79 - Patch () https://git.kernel.org/stable/c/dcc7440f32c7a26b067aff6e7d931ec593024a79 - Patch
References () https://git.kernel.org/stable/c/f1ab15a09492a5ae8ab1e2c35ba2cf9e150d25ee - Patch () https://git.kernel.org/stable/c/f1ab15a09492a5ae8ab1e2c35ba2cf9e150d25ee - Patch
References () https://git.kernel.org/stable/c/fd2b613bc4c508e55c1221c6595bb889812a4fea - Patch () https://git.kernel.org/stable/c/fd2b613bc4c508e55c1221c6595bb889812a4fea - Patch

28 Aug 2024, 19:58

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: liquidio: ajusta una ruta de manejo de puntero NULL en lio_vf_rep_copy_packet En lio_vf_rep_copy_packet() pg_info->page se compara con un valor NULL, pero luego se pasa incondicionalmente a skb_add_rx_frag() lo cual parece extraño y podría provocar una desreferencia del puntero nulo. El seguimiento de llamadas de lio_vf_rep_copy_packet() se ve así: octeon_droq_process_packets octeon_droq_fast_process_packets octeon_droq_dispatch_pkt octeon_create_recv_info ...buscar en la lista de despacho... ->disp_fn(rdisp->rinfo, ...) lio_vf_rep_pkt_recv(struct octeon_recv_info *rec v_info, ...) En este camino hay No hay ningún código que establezca pg_info->page en NULL. Por lo tanto, esta verificación parece innecesaria y no resuelve el problema potencial. Pero supongo que el autor tenía motivos para agregar un cheque y yo no tengo esa tarjeta y no puedo hacer una prueba real. Además, el código de la función liquidio_push_packet() en liquidio/lio_core.c hace exactamente lo mismo. En base a esto, considero la solución de compromiso más aceptable para ajustar este problema moviendo skb_add_rx_frag() al alcance condicional. Encontrado por el Centro de verificación de Linux (linuxtesting.org) con SVACE.
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CWE CWE-476
CPE cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*
References () https://git.kernel.org/stable/c/87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2 - () https://git.kernel.org/stable/c/87d6bdc006f0cbf297a3b2ad6e40ede4c3ee5dc2 - Patch
References () https://git.kernel.org/stable/c/a6f4d0ec170a46b5f453cacf55dff5989b42bbfa - () https://git.kernel.org/stable/c/a6f4d0ec170a46b5f453cacf55dff5989b42bbfa - Patch
References () https://git.kernel.org/stable/c/a86490a3712cc513113440a606a0e77130abd47c - () https://git.kernel.org/stable/c/a86490a3712cc513113440a606a0e77130abd47c - Patch
References () https://git.kernel.org/stable/c/c44711b78608c98a3e6b49ce91678cd0917d5349 - () https://git.kernel.org/stable/c/c44711b78608c98a3e6b49ce91678cd0917d5349 - Patch
References () https://git.kernel.org/stable/c/cbf18d8128a753cb632bef39470d19befd9c7347 - () https://git.kernel.org/stable/c/cbf18d8128a753cb632bef39470d19befd9c7347 - Patch
References () https://git.kernel.org/stable/c/dcc7440f32c7a26b067aff6e7d931ec593024a79 - () https://git.kernel.org/stable/c/dcc7440f32c7a26b067aff6e7d931ec593024a79 - Patch
References () https://git.kernel.org/stable/c/f1ab15a09492a5ae8ab1e2c35ba2cf9e150d25ee - () https://git.kernel.org/stable/c/f1ab15a09492a5ae8ab1e2c35ba2cf9e150d25ee - Patch
References () https://git.kernel.org/stable/c/fd2b613bc4c508e55c1221c6595bb889812a4fea - () https://git.kernel.org/stable/c/fd2b613bc4c508e55c1221c6595bb889812a4fea - Patch
First Time Linux
Linux linux Kernel

12 Jul 2024, 13:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-07-12 13:15

Updated : 2024-11-21 09:27


NVD link : CVE-2024-39506

Mitre link : CVE-2024-39506

CVE.ORG link : CVE-2024-39506


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference