Vulnerabilidade de ataque de sequestro e sequestro de sessão CSRF


12

Das notas de versão do 1.8CE Alpha:

A loja virtual Magento possui proteções adicionais de falsificação de solicitação entre sites (CSRF), o que significa que um impostor não pode mais representar um cliente recém-registrado e executar ações em nome do cliente.

e:

Nas versões anteriores, o Magento estava vulnerável a um ataque de fixação de sessão durante o processo de registro. Depois de fazer login na conta, o ID da sessão de um usuário registrado não foi alterado. Portanto, se um invasor tiver conhecimento de uma ID de sessão não autorizada e se esse usuário for registrado com êxito, o invasor poderá assumir o controle da conta recém-registrada. Agora, o ID da sessão muda após o registro bem-sucedido, impossibilitando o uso não autorizado de uma conta.

Se isso está nas notas de versão e não vejo uma versão pontual nas versões anteriores abordando isso (estou procurando no lugar errado?) - isso significa que as lojas pré-1,8 atuais estão potencialmente abertas a esses ataques vetores ?

Fonte: http://www.magentocommerce.com/knowledge-base/entry/ce-18-later-release-notes


Acabei de atualizar minha resposta abaixo com detalhes sobre como obter um patch para essas vulnerabilidades.
Davidalger

Respostas:


9

Em suma, sim. O CE 1.7 ainda está vulnerável a esses ataques específicos porque não foi emitida nenhuma versão de segurança que contenha um patch.

No caso do último, um ataque de fixação de sessão, a mudança é uma atualização nas práticas de segurança que o Magento já usava para se manter alinhado com as melhores práticas de segurança atuais. Não é provável que seja emitido para o CE 1.7 se eles emitirem um patch com as correções do CSRF.

A verdadeira questão é o que exatamente foram essas vulnerabilidades do CSRF que foram corrigidas? Sem dúvida, é bom que eles não incluam detalhes nas notas de versão, comprometendo ainda mais todas as versões anteriores, mas seria bom saber para corrigir as implementações antigas.

ATUALIZAÇÃO # 1: Ao entrar em contato com o Magento para descobrir quando eles estarão emitindo patches para as vulnerabilidades acima, recebi a seguinte resposta:

Permita-me algum tempo para pesquisar mais sobre isso. Não tenho certeza se existem patches disponíveis para esses dois itens, pois eles estão listados em nosso sistema como aprimoramentos do produto e não como bugs. Atualizarei você quando receber mais informações.

Vou postar mais detalhes aqui à medida que os conseguir, e farei o possível para que os patches sejam emitidos, pois parece que atualmente não existem patches.

ATUALIZAÇÃO # 2: Depois de ir e vir com a equipe de suporte, consegui obter um patch adequado para o Magento EE 1.12.0.2. Nenhum patch foi emitido para o Magento CE 1.7.0.2 e, tanto quanto o técnico que o analisou internamente por mim sabe, não há planos de lançar um patch oficial para o CE 1.7.x, resolvendo os problemas apenas no próximo CE 1.8 versão estável.

Quanto ao arquivo de correção específico do EE, não posso publicá-lo (ou a ferramenta de aplicação de patches) aqui diretamente, pois sem dúvida seria uma violação do NDA entre o Magento e eu pessoalmente e a empresa para a qual trabalho. O nome do patch relevante é: "PATCH_SUPEE-1513_EE_1.12.0.2_v1.sh" - Se você tiver o Enterprise Edition ou um cliente usando, poderá solicitar esse patch à equipe de suporte do Magento, juntamente com uma observação sobre as vulnerabilidades do CSRF que devem corrigir.

Para usuários do CE 1.7.0.2, tomei a liberdade de gerar um arquivo de patch (baseado no patch fornecido pelo Magento), que inclui apenas os blocos de código que alteram os arquivos de código principal do Magento CE 1.7.0.2. De maneira normal, inclui partes irrelevantes de comentários adicionados e formatação ajustada, juntamente com as alterações de código relevantes. Para criar isso, é necessário alterar manualmente o patch original para aplicá-lo usando a ferramenta de aplicação de patches fornecida e, em seguida, usar git para gerar um patch com base nas alterações aplicadas.

O arquivo de correção que eu criei pode ser baixado desta lista: https://gist.github.com/davidalger/5938568

Para aplicar o patch, primeiro cd na raiz da instalação do Magento e execute o seguinte comando: patch -p1 -i ./Magento_CE_1.7.0.2_v1-CSRF_Patch.diff

O patch específico do EE incluía verificações de validação de chave de formulário para controladores específicos da empresa, alterações nos arquivos de modelo corporativo / padrão e corporativo / iphone para incluir chaves de formulário nos formulários usados ​​para as ações do controlador corrigido e funcionalidade adicional do cache de página inteira para contabilizar adequadamente passando chaves de formulário para frente e para trás em páginas em cache.

AVISO LEGAL: Eu não testei o patch EE fornecido pelo Magento nem o patch que carreguei na essência vinculada. O patch fornecido na essência referenciada é fornecido SEM GARANTIA e pode ou não resolver completamente as vulnerabilidades mencionadas nas notas de versão do CE 1.8. Como um patch não testado, também não há garantia de que ele funcione no todo ou em parte. Ou seja, use por seu próprio risco e faça a devida diligência para testar antes de implantar em um ambiente de produção. Se você encontrar problemas com o patch, informe-me e eu o atualizarei.


1
Segurança através da obscuridade não é uma boa ideia. Eles devem torná-lo público para que todos possam corrigir sua instalação. Além disso, uma simples diferença entre as duas versões deve lhe dar uma boa impressão de como o ataque funciona e como corrigir instalações mais antigas. Portanto, a informação está fora de qualquer maneira.
precisa saber é o seguinte

1
Concordo, a obscuridade não é uma boa segurança, e eu certamente não estava tentando indicar isso. No entanto, a divulgação responsável é algo que deve ser considerado. Pelo que sabemos, as vulnerabilidades poderiam ter sido submetidas ao Magento semanas antes do lançamento público do EE 1.13 e CE 1.8a1. FWIW, entrarei em contato com algumas pessoas no Magento para descobrir se eles ainda têm patches para o EE 1.12 e quais são os planos para 1.7 instalações; especificamente para as vulnerabilidades do CSRF.
precisa saber é o seguinte

Vamos aguardar uma atualização e editar a pergunta / resposta de acordo se um patch for lançado. Obrigado.
Philwinkle

Acabei de publicar uma atualização com uma resposta preliminar que recebi do Magento. Parece que não há nenhum patch atualmente, então vou ver o que posso fazer sobre isso. Definitivamente vou manter vocês informados ... aqui e possivelmente no meu twitter também.
Davidalger #

2

Não tenho 100% de certeza porque não consegui reproduzir o problema, mas

significando que um impostor não pode mais representar um cliente recém-registrado

significa que até agora 'um impostor' poderia se passar por um cliente recém-registrado.
Espero que seja apenas 'semântica', mas acho que significa o que você teme.


até agora, significa fixado em 1,8 - ou o que você quer dizer?
Fabian Blechschmidt

sim ... é isso que eu quero dizer.
Marius
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.