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

Vulnerabilidad en Linux (CVE-2023-54321)

Gravedad CVSS v3.1:
MEDIA
Tipo:
CWE-476 Desreferencia a puntero nulo (NULL)
Fecha de publicación:
30/12/2025
Última modificación:
26/02/2026

Descripción

En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> núcleo del controlador: corrige una potencial desreferencia de puntero nulo en device_add()<br /> <br /> Recibí el siguiente informe de desreferencia de puntero nulo mientras realizaba una prueba de inyección de fallos:<br /> <br /> ERROR: desreferencia de puntero NULL del kernel, dirección: 0000000000000058<br /> CPU: 2 PID: 278 Comm: 37-i2c-ds2482 Tainted: G B W N 6.1.0-rc3+<br /> RIP: 0010:klist_put+0x2d/0xd0<br /> Traza de llamadas:<br /> <br /> klist_remove+0xf1/0x1c0<br /> device_release_driver_internal+0x196/0x210<br /> bus_remove_device+0x1bd/0x240<br /> device_add+0xd3d/0x1100<br /> w1_add_master_device+0x476/0x490 [wire]<br /> ds2482_probe+0x303/0x3e0 [ds2482]<br /> <br /> Así es como ocurrió:<br /> <br /> w1_alloc_dev()<br /> // El dev-&amp;gt;driver se establece en w1_master_driver.<br /> memcpy(&amp;amp;dev-&amp;gt;dev, device, sizeof(struct device));<br /> device_add()<br /> bus_add_device()<br /> dpm_sysfs_add() // Falla, llama a bus_remove_device.<br /> <br /> // ruta de error<br /> bus_remove_device()<br /> // El dev-&amp;gt;driver no es nulo, pero el controlador no está enlazado.<br /> __device_release_driver()<br /> klist_remove(&amp;amp;dev-&amp;gt;p-&amp;gt;knode_driver) &amp;lt;-- Causa una desreferencia de puntero nulo.<br /> <br /> // ruta normal<br /> bus_probe_device() // Aún no se ha llamado.<br /> device_bind_driver()<br /> <br /> Si dev-&amp;gt;driver está establecido, en la ruta de error después de llamar a bus_add_device() en device_add(), se llama a bus_remove_device(), entonces el dispositivo será desvinculado del controlador. Pero device_bind_driver() aún no se ha llamado, por lo que causa una desreferencia de puntero nulo al acceder a &amp;#39;knode_driver&amp;#39;. Para solucionar esto, establece dev-&amp;gt;driver en nulo en la ruta de error antes de llamar a bus_remove_device().

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 2.6.26 (incluyendo) 5.10.249 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (incluyendo) 5.15.99 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (incluyendo) 6.1.16 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.2 (incluyendo) 6.2.3 (excluyendo)