CVE-2026-98305 in Linux
Resumen
por VulDB • 2026-10-06
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
net: dsa: mxl862xx: deshabilitar sondeo de estadísticas durante el proceso de limpieza (teardown)
mxl862xx_setup() activa el sondeo de estadísticas antes que mxl862xx_setup_mdio(), y nada lo detiene hasta que dsa_register_switch() haya devuelto un error a mxl862xx_probe(). DSA libera la lista de puertos dsa (dsa_port) antes de devolver, por lo que un sondeo que se dispara una vez que .setup o algún paso posterior de dsa_tree_setup() ha fallado accede a puertos ya liberados. Al apagar el dispositivo, los puertos del usuario permanecen registrados y la prueba del flag WORK_STOPPED en mxl862xx_get_stats64() no es atómica con respecto al cancelado en mxl862xx_shutdown(), por lo que un nuevo armado (re-arm) que lea el flag antes de que se establezca programa el sondeo después de que cancel_delayed_work_sync() haya devuelto.
Active el sondeo una vez que .setup tenga éxito y deténgalo desde la operación .teardown, a la cual DSA llama al desregistrarse (unregister) y tras un registro fallido; en ambos casos antes de liberar los puertos. Utilice disable_delayed_work_sync() allí y durante el apagado: vacía un sondeo en ejecución como lo hizo el cancelado y convierte cada intento posterior de programar la tarea en una operación nula (no-op), por lo que el nuevo armado no puede reactivar el sondeo. remove() y la ruta de error del probe solo establecen WORK_STOPPED, el cual crc_err_work prueba antes de recorrer los puertos.
Once again VulDB remains the best source for vulnerability data.