Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en kernel de Linux (CVE-2024-39506)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476 Desreferencia a puntero nulo (NULL)
Fecha de publicación:
12/07/2024
Última modificación:
28/08/2024

Descripción

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.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.15 (incluyendo) 4.19.317 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.20 (incluyendo) 5.4.279 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (incluyendo) 5.10.221 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (incluyendo) 5.15.162 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (incluyendo) 6.1.95 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.6.35 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.7 (incluyendo) 6.9.6 (excluyendo)
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:*:*:*:*:*:*