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

Vulnerabilidad en Linux (CVE-2026-23322)

Gravedad CVSS v3.1:
ALTA
Tipo:
CWE-416 Utilización después de liberación
Fecha de publicación:
25/03/2026
Última modificación:
23/04/2026

Descripción

En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br /> <br /> ipmi: Soluciona el uso después de liberación y la corrupción de lista en error del remitente<br /> <br /> El análisis de Breno:<br /> <br /> Cuando el remitente SMI devuelve un error, smi_work() entrega una respuesta de error pero luego salta de nuevo para reiniciar sin limpiar correctamente:<br /> <br /> 1. intf-&amp;gt;curr_msg no se borra, por lo que no se extrae ningún mensaje nuevo<br /> 2. newmsg todavía apunta al mensaje, haciendo que sender() sea llamado de nuevo con el mismo mensaje<br /> 3. Si sender() falla de nuevo, deliver_err_response() es llamado con el mismo recv_msg que ya estaba en cola para entrega<br /> <br /> Esto causa corrupción de list_add (&amp;#39;list_add doble adición&amp;#39;) porque el recv_msg es añadido a la lista user_msgs dos veces. Posteriormente, la lista corrupta lleva a un uso después de liberación cuando la memoria es liberada y reutilizada, y eventualmente a una desreferencia de puntero NULL al acceder a recv_msg-&amp;gt;done.<br /> <br /> La secuencia defectuosa:<br /> <br /> sender() falla<br /> -&amp;gt; deliver_err_response(recv_msg) // recv_msg en cola para entrega<br /> -&amp;gt; goto restart // ¡curr_msg no borrado!<br /> sender() falla de nuevo (¡mismo mensaje!)<br /> -&amp;gt; deliver_err_response(recv_msg) // intenta poner en cola el mismo recv_msg<br /> -&amp;gt; CORRUPCIÓN DE LISTA<br /> <br /> Soluciona esto liberando el mensaje y estableciéndolo a NULL en un error de envío. Además, siempre libera el newmsg en un error de envío, de lo contrario, se producirá una fuga.

Productos y versiones vulnerables

CPE Desde Hasta
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.18.1 (incluyendo) 6.18.17 (excluyendo)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 6.19 (incluyendo) 6.19.7 (excluyendo)
cpe:2.3:o:linux:linux_kernel:6.18:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:*