Debilidad en la implementación del driver wireless Orinoco en Linux

Existe una debilidad de diseño en la implementación de la función 'orinoco_ioctl_set_auth' de 'drivers/net/wireless/orinoco/wext.c' en el driver wireless Orinoco.

sto provoca la habilitación de la tarjeta si están habilitadas las contramedidas para TKIP haciendo los ataques más efectivos.
Un atacante remoto podría obtener ventaja en ciertos ataques si este error de diseño está presente.
Como podemos observar en el parche introducido:

if (param->value) {
priv->tkip_cm_active = 1;
- ret = hermes_enable_port(hw, 0);
+ ret = hermes_disable_port(hw, 0);
} else {
priv->tkip_cm_active = 0;
- ret = hermes_disable_port(hw, 0);
+ ret = hermes_enable_port(hw, 0);
}

El fallo es un simple error de lógica al intentar justo lo contrario de lo que se pretendía en el diseño original.
La acción correcta a tomar es si priv->tkip_cm_active = 1, es decir que las contramedidas para TKIP estén activas, deshabilitar la tarjeta.

Entradas populares de este blog

Descomprimir archivos .rar en GNU/Linux

Cómo recuperar Grub 2 sin utilizar un live cd

Descubre de qué se trata la nueva tecnología LiFi