Vulnerabilidad en kernel de Linux (CVE-2024-46676)
Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-369
División por cero
Fecha de publicación:
13/09/2024
Última modificación:
23/09/2024
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: nfc: pn533: Añadir comprobación de llenado de lista de mod de sondeo En caso de que el valor de im_protocols sea 1 y el valor de tm_protocols sea 0, esta combinación pasa con éxito la comprobación 'if (!im_protocols && !tm_protocols)' en nfc_start_poll(). Pero luego, después de la llamada a pn533_poll_create_mod_list() en pn533_start_poll(), la lista de mod de sondeo permanecerá vacía y dev->poll_mod_count permanecerá en 0, lo que conduce a la división por cero. Normalmente, ningún protocolo im tiene el valor 1 en la máscara, por lo que el controlador no espera esta combinación. Pero estos valores de protocolo en realidad provienen del espacio de usuario a través de la interfaz Netlink (operación NFC_CMD_START_POLL). Por lo tanto, un programa dañado o malicioso puede enviar un mensaje que contenga una combinación "mala" de valores de parámetros de protocolo, de modo que dev->poll_mod_count no se incremente dentro de pn533_poll_create_mod_list(), lo que lleva a una división por cero. El seguimiento de la llamada se ve así: nfc_genl_start_poll() nfc_start_poll() ->start_poll() pn533_start_poll() Agregar comprobación de llenado de la lista de mods de sondeo. Encontrado por Linux Verification Center (linuxtesting.org) con SVACE.
Impacto
Puntuación base 3.x
5.50
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.12 (incluyendo) | 5.4.283 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (incluyendo) | 5.10.225 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (incluyendo) | 5.15.166 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (incluyendo) | 6.1.108 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.2 (incluyendo) | 6.6.49 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (incluyendo) | 6.10.8 (excluyendo) |
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:* | ||
cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/56ad559cf6d87f250a8d203b555dfc3716afa946
- https://git.kernel.org/stable/c/64513d0e546a1f19e390f7e5eba3872bfcbdacf5
- https://git.kernel.org/stable/c/7535db0624a2dede374c42040808ad9a9101d723
- https://git.kernel.org/stable/c/7ecd3dd4f8eecd3309432156ccfe24768e009ec4
- https://git.kernel.org/stable/c/8ddaea033de051ed61b39f6b69ad54a411172b33
- https://git.kernel.org/stable/c/c5e05237444f32f6cfe5d907603a232c77a08b31
- https://git.kernel.org/stable/c/febccb39255f9df35527b88c953b2e0deae50e53