Para la conexión cliente-servidor es necesario pasar primero una autenticación que se realiza mediante claves AES estáticas en ambos extremos. Durante el inicio de la conexión el cliente envía el nombre de equipo y puede especificar la longitud de dicho nombre. Si se especifica con más de 64 caracteres se producirá un desbordamiento de buffer en el stack del kernel del servidor que podría permitir la ejecución de código en el sistema afectado.
int computername_len;
char computername_buf[64];
// connection initiation, handshake
len = ks_recv(sock, &computername_len, 4, 0);
// ...
len = ks_recv(sock, computername_buf, computername_len, 0); // boom!
Ya hay un script para la prueba de concepto "netusb_bof.py" que causa un DoS/reinicio del dispositivo:./netusb_bof.py 192.168.1.1 20005 500
Este script todavía no ha sido publicado ni se publicará hasta que todos o la mayoría de vendedores parcheen la vulnerabilidad. El gran problema es que este driver de Kernel se encuentra activado por defecto en miles de dispositivos: TP-Link, Netgear, D-Link, TrendNet, Zyxel, ...