Vulnerabilidad en Linux (CVE-2026-23041)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
04/02/2026
Última modificación:
04/02/2026
Descripción
En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:<br />
<br />
bnxt_en: Corrección de un fallo por puntero NULL en bnxt_ptp_enable durante la limpieza de errores<br />
<br />
Cuando bnxt_init_one() falla durante la inicialización (p. ej., bnxt_init_int_mode devuelve -ENODEV), la ruta de error llama a bnxt_free_hwrm_resources() que destruye el pool de DMA y establece bp-&gt;hwrm_dma_pool a NULL. Posteriormente, se llama a bnxt_ptp_clear(), que invoca a ptp_clock_unregister().<br />
<br />
Desde el commit a60fc3294a37 (&#39;ptp: rework ptp_clock_unregister() to disable events&#39;), ptp_clock_unregister() ahora llama a ptp_disable_all_events(), que a su vez invoca la función de callback .enable() del controlador (bnxt_ptp_enable()) para deshabilitar los eventos PTP antes de completar el desregistro.<br />
<br />
bnxt_ptp_enable() intenta enviar comandos HWRM a través de bnxt_ptp_cfg_pin() y bnxt_ptp_cfg_event(), ambas llaman a hwrm_req_init(). Esta función intenta asignar memoria de bp-&gt;hwrm_dma_pool, causando una desreferencia de puntero NULL:<br />
<br />
bnxt_en 0000:01:00.0 (net_device sin nombre) (no inicializado): bnxt_init_int_mode err: ffffffed<br />
KASAN: desreferencia de puntero nulo en el rango [0x0000000000000028-0x000000000000002f]<br />
Traza de Llamadas:<br />
__hwrm_req_init (drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c:72)<br />
bnxt_ptp_enable (drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:323 drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:517)<br />
ptp_disable_all_events (drivers/ptp/ptp_chardev.c:66)<br />
ptp_clock_unregister (drivers/ptp/ptp_clock.c:518)<br />
bnxt_ptp_clear (drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c:1134)<br />
bnxt_init_one (drivers/net/ethernet/broadcom/bnxt/bnxt.c:16889)<br />
<br />
Las líneas son contra el commit f8f9c1f4d0c7 (&#39;Linux 6.19-rc3&#39;)<br />
<br />
Solucione esto limpiando y desregistrando ptp (bnxt_ptp_clear()) antes de liberar los recursos HWRM.



