Buffer não verificado no Plug and Play universal pode resultar em comprometimento do sistema no Windows XP

O suporte para o Windows XP terminou

A Microsoft terminou o suporte para o Windows XP em 8 de abril de 2014. Esta alteração afetou as suas atualizações de software e opções de segurança. Saiba o que isto significa para você e como permanecer protegido.

Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sintomas
Os computadores podem usar o serviço de UPnP (Plug and Play universal) para descobrir e usar dispositivos com base na rede. O Microsoft Windows Millennium Edition (Me) e o Windows XP incluem serviços de UPnP, mas o Microsoft Windows 98 e o Microsoft Windows 98 Second Edition, não. No entanto, o serviço de UPnP pode ser instalado em um computador com Windows 98 ou com Windows 98 Second Edition, instalando o cliente de Compartilhamento de conexão com a Internet (ICS) incluído no Windows XP.

Este artigo descreve duas vulnerabilidades que afetam a implementação do UPnP em diversos produtos. Embora não estejam relacionadas, as vulnerabilidades envolvem a forma com que computadores com UPnP processam a descoberta de novos dispositivos na rede.

A primeira vulnerabilidade é de saturação de buffer. Há um buffer não verificado em um dos componentes do Windows XP que processa as diretivas NOTIFY (mensagens que informam a disponibilidade dos dispositivos compatíveis com UPnP na rede). Ao enviar uma diretiva NOTIFY corrompida, seria possível a um invasor fazer com que o código fosse executado no contexto do serviço de UPnP, executado com os privilégios de sistema no Windows XP. No Windows 98 e no Windows Me, não há contextos de segurança e todo o código é executado como parte do sistema operacional. Isso permitiria que um invasor conseguisse controle completo sobre o computador.

A segunda vulnerabilidade ocorre porque o serviço de UPnP não limita de maneira satisfatória as etapas a serem executadas pelo serviço de UPnP para obter informações sobre um dispositivo recém-descoberto. Na diretiva NOTIFY enviada por um novo dispositivo de UPnP estão as informações que indicam aos computadores interessados onde obter a descrição do seu dispositivo, que lista os serviços oferecidos pelo dispositivo, além de fornecer instruções sobre como usá-lo. Por padrão do projeto, a descrição do dispositivo pode residir em um servidor de terceiros e não no próprio dispositivo. No entanto, as implementações de UPnP não definem adequadamente a forma com que ele executa essa operação e isso abre a possibilidade para duas situações de DoS (denial-of-service) diferentes.

Na primeira situação de DoS, o invasor poderia enviar uma diretiva NOTIFY para um computador compatível com UPnP, especificando que a descrição do dispositivo deve ser descarregada a partir de uma determinada porta de um determinado servidor. Se o servidor tivesse sido configurado apenas para retornar as solicitações de download de volta ao serviço de UPnP (como, por exemplo, tendo o serviço de eco (Echo) na porta para a qual o computador estivesse direcionado), o computador seria levado a entrar em um ciclo interminável de downloads, que consumiriam certa parte ou toda a disponibilidade do sistema. Um invasor poderia criar e enviar essa diretiva para um computador a ser atacado, usando o seu endereço IP. Ou poderia enviar essa mesma diretiva para um domínio de difusão e de difusão seletiva e atacar todos os computadores com Windows XP contidos nesse domínio, consumindo certa parte ou toda a disponibilidade do sistema.

Na segunda situação de DoS, um invasor poderia especificar um servidor de terceiros como o host para a descrição de dispositivo na diretiva NOTIFY. Se um número suficiente de computadores responder à diretiva, o servidor de terceiros será inundado com solicitações inválidas, em um ataque DoS distribuído. Assim como na primeira situação de DoS, um invasor poderia enviar as diretivas para a vítima diretamente, ou para um domínio de difusão seletiva ou de difusão.

Fatores atenuantes

Geral

Podem ser usadas as configurações padrão de firewall (mais especificamente, bloquear portas 1900 e 5000) para proteger as redes corporativas de ataques com base na Internet.

Windows 98 e Windows 98 Second Edition

  • Não há suporte incorporado de UPnP para esses sistemas operacionais. Os computadores com Windows 98 ou com Windows 98 Second Edition só seriam afetados se o cliente ICS do Windows XP tivesse sido instalado no computador.
  • Os computadores com Windows 98 ou com Windows 98 Second Edition que têm o cliente ICS instalado a partir de um computador com Windows XP que já tenha este patch aplicado não estão vulneráveis.

Windows Me

O Windows Me fornece suporte ao UPnP incorporado, mas, por padrão, ele não está instalado ou em execução. No entanto, alguns OEMs configuram os computadores de forma que o serviço de UPnP fique instalado e em execução.

Windows XP

O Firewall de conexão com a Internet (ICF), em execução por padrão, evitaria que um invasor conseguisse fazer um ataque direto. No entanto, como não bloqueia tráfego de difusão e de difusão seletiva de entrada, o ICF não protegeria contra ataques diretos.
Resolução
Para resolver esse problema, obtenha o service pack mais recente para o Windows XP. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
322389 Como obter o service pack mais recente do Windows XP
Os seguintes arquivos estão disponíveis para download no Centro de Download da Microsoft:
Data de lançamento: 20 de dezembro de 2001

Para obter informações adicionais sobre como baixar arquivos de Suporte da Microsoft, clique no número abaixo para ler o artigo na Base de Dados de Conhecimento da Microsoft:
119591 Como obter arquivos de suporte da Microsoft nos serviços online
A Microsoft examinou esse arquivo em busca de vírus. A Microsoft utilizou o mais recente software de detecção de vírus disponível na data em que o arquivo foi publicado. O arquivo está armazenado em servidores de segurança avançada que ajudam a evitar qualquer alteração não autorizada no arquivo.A versão em inglês desta correção deve ter os seguintes atributos de arquivo ou posteriores:
   Data         Hora      Versão       Tamanho    Nome do arquivo   ------------------------------------------------------   18-dez-2001  15:12  6.0.2448.0   324.608  Netsetup.exe   17-dez-2001  18:02  5.1.2600.23   26.624  Ssdpapi.dll   17-dez-2001  18:02  5.1.2600.23   41.472  Ssdpsrv.dll   17-dez-2001  18:02  5.1.2600.23  119.808  Upnp.dll   06-dez-2001  10:58  5.1.2600.22  245.248  Update.exe   18-dez-2001  15:53                32.573  Update.inf   18-dez-2001  17:27                   294  Update.ver				

Situação
A Microsoft confirmou que esse problema pode causar um certo nível de vulnerabilidade no Windows XP. Esse problema foi corrigido pela primeira vez no Windows XP Service Pack 1.
Mais Informações
Para obter informações adicionais sobre como corrigir esse problema em outros sistemas operacionais, clique nos números abaixo para ler os artigos na Base de Dados de Conhecimento da Microsoft:
314757 Buffer não verificado no UPnP (Plug and Play universal) pode ocasionar um comprometimento do sistema para Windows Me
314941 Buffer não verificado no UPnP (Plug and Play universal) pode ocasionar um comprometimento do sistema para Windows 98
Para obter informações adicionais sobre essas vulnerabilidades, visite o seguinte site da Microsoft (em inglês):
security_patch dos KbSECVulnerability KbSECHack KBSECBulletin
Propriedades

ID do Artigo: 315000 - Última Revisão: 01/12/2015 19:31:46 - Revisão: 5.0

Microsoft Windows XP Home Edition, Microsoft Windows XP Professional

  • kbnosurvey kbarchive kbqfe kbhotfixserver kbbug kbenv kbfix kbnetwork kbsecurity kbwinxpsp1fix KB315000
Comentários