A Microsoft identificou um bug na Atualização de Segurança
MS03-32 recente para o patch de segurança do Internet Explorer ao aplicar o
patch em um computador que esteja executando o Microsoft Windows XP e possua o
Microsoft ASP.NET 1.0 instalado. Esse patch pode ser instalado manualmente ou
por meio de atualizações críticas recentes obtidas no site do Windows Update na
Web.
Após instalar o patch, você recebe a seguinte mensagem de erro
quando alguma solicitação é feita ao ASP.NET:
Server
Application Unavailable
Esse bug afeta somente computadores que
estejam executando o ASP.NET 1.0 no Windows XP. Ele não afeta computadores que
estejam executando o Microsoft Windows 2000 ou o Microsoft Windows Server 2003.
Esse bug também não afeta computadores que estejame xecutando o Windows XP e
tenham o ASP.NET 1.1 instalado.
A tabela a seguir lista os sistemas
operacionais e as versões do Microsoft .NET Framework que são afetados por esse
bug:
Recolher esta tabelaExpandir esta tabela
| Versão do .NET Framework | Sistema
Operacional | Afetado |
|---|
| 1.0 | Windows 2000 Professional | Não |
| 1.0 | Windows 2000 Server | Não |
| 1.0 | Windows XP Professional | Sim |
| 1.0 | Windows Server 2003 | Não |
| 1.1 | Windows 2000 Professional | Não |
| 1.1 | Windows 2000 Server | Não |
| 1.1 | Windows XP Professional | Não |
| 1.1 | Windows Server 2003 | Não |
Como solução alternativa para esse bug, execute o arquivo em
lotes descrito na seção "Arquivo em Lotes" deste artigo. O arquivo em lote faz
o seguinte:
- Interrompe os serviços IIS e ASP.NET
- Exclui e recria a conta ASPNET usando uma senha temporária
já conhecida.
- Usa o comando runas do Windows para iniciar um arquivo executável que cria um perfil
de usuário ASPNET. Um perfil de usuário ASPNET serve como solução alternativa
para o problema.
- Registra novamente o ASP.NET. Esse passo cria uma nova
senha aleatória para a conta e aplica as configurações de controle de acesso
ASP.NET padrão para a conta.
- Reinicia o serviço IIS (Microsoft Internet Information
Services).
O arquivo em lote contém uma senha temporária embutida em código
de "1pass@word". Será solicitado a você digitar essa senha para o comando
runas quando o arquivo em lote for executado. Após a conclusão do
comando
runas, a senha da conta ASPNET é criada novamente usando um valor
aleatório.
Observações Importantes
- O arquivo em lote pode falhar se a senha embutida em
código não corresponder aos requisitos de complexidade de senha em seu
ambiente. Se esse problema ocorrer, você poderá alterar a senha para outro
valor que seja apropriado para seu ambiente.
- Caso você tenha adicionado as configurações de controle de
acesso personalizadas ou as permissões de conta do banco de dados para a conta
ASPNET, será encessário criar novamente essas configurações ou permissões após
a conclusão desse arquivo em lote. Isso ocorre porque é atribuído a essa conta
um novo identificador de segurança (SID - security identifier) quando a conta é
criada novamente.
- Se você estiver executando o processo do ASP.NET usando uma
conta personalizada diferente da conta ASPNET, não execute esse arquivo em
lote. Você deverá fazer logon no computador de forma interativa ou usar o
comando runas com a conta personalizada. Esse procedimento cria um perfil de
usuário para a conta personalizada.
Para utilizar o arquivo em lote, siga estes passos.
Nota Sua conta deve ser um membro do grupo Administradores.
- Inicie o Bloco de notas. Verifique se a Quebra
automática de linha está desativada.
- Cole o código do arquivo em lote no Bloco de
Notas.
- Salve o arquivo como
c:\fixup.cmd.
- Clique em Iniciar, e em seguida em
Executar.
- Digite cmd.exe, e em seguida
pressione ENTER.
- No prompt de comando, digite
c:\fixup.cmd, e em seguida pressione ENTER.
- Quando lhe for solicitada uma senha, digite
1pass@word.
Irá aparecer uma segunda janela do
prompt de comando. - Após aplicar o patch, digite exit na
segunda janela do prompt de comando e em seguida pressione ENTER.
- Se você configurou as configurações de controle de acesso
personalizadas ou as permissões de conta do banco de dados para a conta ASPNET,
será necessário agora aplicar novamente essas configurações.
Arquivo em Lote
REM Start Batch File
REM This batch file addresses issues that exist with the MS03-32
REM Security Update when you run ASP.NET 1.0 on Windows XP.
REM If you have any other configuration, do not run this file.
@echo off
if exist %SystemRoot%\microsoft.net\framework\v1.1* goto v11_installed
REM Change to the .NET Framework installation directory.
cd /d %SystemRoot%\microsoft.net\framework\v1.0.3705
echo "Stopping IIS."
iisreset /stop
echo "----------------------"
echo "Stopping the ASP.NET state service if it is running."
net stop aspnet_state
echo "----------------------"
echo "Deleting the ASPNET account."
net user ASPNET /delete
echo "----------------------"
echo "Creating a new ASPNET account with a temporary password."
net user ASPNET 1pass@word /add
echo "----------------------"
echo "Launching runas to create a profile."
echo "You see a command window being created."
echo "Type 1pass@word when you are prompted for the temporary password."
runas /profile /user:ASPNET cmd.exe
echo "----------------------"
echo "Reregistering ASP.NET and the ASPNET account."
aspnet_regiis -i
echo "A new random password has been autocreated for the ASPNET account."
echo "----------------------"
echo "Restarting IIS."
iisreset /start
echo "----------------------"
echo "The workaround has been applied."
echo "Try to access an ASP.NET page."
echo "If you have any custom access controls settings for the ASPNET account,"
echo "you must re-create them."
echo "If you were running the ASP.NET state service, you must restart it."
goto done
:v11_installed
echo "Version 1.1 appears to be installed. Do not run this file."
:done
REM End of batch file.
A
Microsoft confirmou que esse é um problema nos produtos da empresa que estão
listados no começo deste artigo.