Uma falha na implementação do protocolo Reliable Datagram Sockets (RDS) no kernel do Linux pode ser explorada para a obtenção de direitos ou privilégios de root (também conhecido como superusuário) no sistema de uma vítima. Os crackers podem explorar a falha para obter o controle total à distância, uma vez que conseguirem invadir o sistema. Dan Rosenberg, que descobriu a vulnerabilidade, publicou um exploit para fins de demonstração em um teste realizado no Ubuntu 10.04 (64 bits), que abriu uma shell de root.
O kernel em suas versões 2.6.30 e 2.6.36-rc8 teria sido afetado pela falha. Os desenvolvedores do Linux já forneceram um patch que está disponível no repositório Git, com o intuito de resolver o problema abordado. Em virtude disso, os distribuidores provavelmente irão publicar versões do novo kernel em breve, e como solução, Rosenberg recomenda evitar o módulo de carregamento do kernel: echo "alias net-pf-21 off" > /etc/modprobe.d/disable-rds (como root).
A maioria dos sistemas não será afetada porque não utilizará o protocolo em qualquer situação. Rosenberg diz, que o problema surgiu porque as funções do kernel no protocolo RDS não fazem a verificação correta dos endereços indicados quando os dados são copiados da memória do kernel e memória do usuário. Como resultado, os usuários locais podem indicar um endereço de base no núcleo de uma estrutura de socket. O código pode ser escrito na memória do kernel, e lançado com os direitos do kernel quando certos sockets são solicitados.
Saiba Mais:
[1] Reliable Datagram Sockets: http://oss.oracle.com/pipermail/rds-...er/000228.html
[2] Heise On-line: http://www.h-online.com/open/news/it...s-1122180.html