CVE-2026-80983 in Linuxinformación

Resumen

por VulDB • 2026-09-12

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

net/smc: corrige la fuga del recuento de referencias (refcount) del socket en smc_switch_conns()

smc_switch_conns() toma una referencia al socket SMC antes de liberar lgr->conns_lock, por lo que la conexión permanece activa mientras se obtiene el slot CDC:

sock_hold(&smc->sk); read_unlock_bh(&lgr->conns_lock); /* pre-fetch buffer outside of send_lock, might sleep */ rc = smc_cdc_get_free_slot(conn, to_lnk, &wr_buf, NULL, &pend); if (rc) goto err_out;

La etiqueta err_out solo libera la referencia al enlace wr_tx, por lo que esta salida temprana devuelve sin ejecutar el sock_put() correspondiente. La segunda salida de error no se ve afectada, porque sock_put() ya se ha ejecutado para entonces.

Una fuga en sk_refcnt significa que smc_sock nunca se destruye. Sus buffers de envío y recepción permanecen asignados y, para un socket de usuario, la referencia mantenida sobre el espacio de nombres de red (network namespace) no se libera nunca, por lo que netns ya no puede ser desmontado (torn down).

smc_cdc_get_free_slot() falla cuando el enlace objetivo cae o cuando la conexión ha sido eliminada mientras el cambio estaba en curso. Ambos casos son alcanzables durante la conmutación por error del enlace (link failover) que esta función implementa, por lo que la fuga es desencadenada por los mismos eventos de hardware que provocan inicialmente la ejecución de smc_switch_conns().

Se reestructura para que haya un único sock_put() que cubra ambos resultados, en lugar de añadir una segunda llamada a la ruta de error.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2026-08-26

Divulgación

2026-09-12

Moderación

aceptado

Artículo

VDB-402767

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you know our Splunk app?

Download it now for free!