Depende de quão bem o programa está escrito e sob quais credenciais seu programa de servidor é executado. Por exemplo, digamos que você aloque um buffer de comprimento fixo para ler do soquete e, em seguida, leia mais do que o tamanho alocado, talvez seja possível criar solicitações do servidor que excedam o buffer na pilha e sobrescreva o endereço de retorno. Nesse ponto, o hacker poderia re-apontar o endereço de retorno para estar no buffer (ultrapassado), que poderia conter o código real. Então, se o seu programa do servidor for executado como root / administrator, você está permitindo que o código seja executado nesse contexto.