Como verificar quais módulos são afetados pelo patch de segurança SUPEE-6788

71

Em 27 de outubro de 2015, o Magento lançou o patch de segurança SUPEE-6788. De acordo com os detalhes técnicos , 4 APPSECs que foram corrigidos requerem algum retrabalho nos módulos locais e comunitários:

  • APPSEC-1034, endereçando ignorando o URL de administrador personalizado (desativado por padrão)
  • APPSEC-1063, abordando possível injeção de SQL
  • APPSEC-1057, método de processamento de modelo, permite acesso a informações privadas
  • APPSEC-1079, abordando exploração potencial com o tipo de arquivo de opção personalizado

Eu queria saber como verificar quais módulos são afetados por esse patch de segurança.

Eu vim com a seguinte solução parcial:

  • APPSEC-1034: procure <use>admin</use>no config.xml de todos os módulos local e da comunidade. Eu acho que isso deve listar todos os módulos afetados por esse problema.
  • APPSEC-1063: procure addFieldToFilter('(e addFieldToFilter('`em todos os arquivos PHP dos módulos local e comunitário. Isso está incompleto, pois as variáveis ​​também podem ser usadas.
  • APPSEC-1057: procure {{config path=e {{block type=em todos os arquivos PHP dos módulos local e comunitário e filtre todos os elementos da lista de permissões. No entanto, isso está incompleto, pois não contém nenhuma variável de modelo adicionada pelos administradores.
  • APPSEC-1079: não faço ideia.

Há também uma lista de extensões vulneráveis ​​ao APPSEC-1034 e APPSEC-1063 compiladas por Peter Jaap Blaakmeer

Aad Mathijssen
fonte
Eu não tenho nenhuma idéia de como entrar em contato com @PeterJaapBlaakmeer mas eu tenho uma extensão que precisa ser adicionado à lista: FreeLunchLabs ConstantContact para a emissão de administração url
David Wilkins
6
quem apresentou algumas dessas soluções? De repente, haverá um tipo de bloco e uma lista de permissões variáveis? Atualizar o Magento sempre foi uma dor, mas um bom trabalho para o Magento por torná-lo ainda mais doloroso.
Agop
6
Magento, o presente que continua dando. Acabei de atualizar TODOS os módulos para compatibilidade com 1.9.2.1. Os desenvolvedores de módulos de apostas estão pulando de alegria ou correndo gritando pelas montanhas.
Fiasco Labs
3
nesse momento, o patch adiado para a próxima semana - adie a liberação do patch de segurança para o início da próxima semana e modifique o patch para que as alterações de roteamento do administrador sejam desativadas por padrão. Isso significa que o patch incluirá a correção, mas será desativado quando instalado. A nova data de lançamento e as alterações no patch fornecerão um tempo adicional para fazer atualizações no seu código e darão aos comerciantes flexibilidade para ativar essa parte do patch, assim que suas extensões e personalizações forem atualizadas para trabalhar com ele.
FireBear

Respostas:

55

Liberado SUPEE-6788 e alterações de roteamento de administrador desativadas por padrão. Isso significa que o patch inclui a correção, mas que será desativado quando instalado. Isso dará a você um tempo adicional para fazer atualizações no seu código e dará aos comerciantes flexibilidade para ativar essa parte do patch assim que suas extensões e personalizações forem atualizadas para trabalhar com ele.

Para ativar o recurso de roteamento de administrador para extensões após a instalação do caminho, vá para Admin -> Avançado -> Admin -> Segurança.

Os patches Magento CE 1.4-1.6 estão atrasados ​​e devem estar disponíveis em cerca de uma semana!

SUPEE-6788 Lista de recursos

FireBear
fonte
Para qualquer módulo "não corrigido", podemos documentar o que geralmente precisa ser alterado para que esses módulos possam ser corrigidos manualmente para trabalhar com o 6788? Por exemplo, "remova o X de todas as addFieldToFilterchamadas".
Tyler V.
11
O patch foi lançado. Atualize sua resposta.
7ochem 28/10/2015
@FireBear Eu já apliquei patches Magento no passado muitas vezes. Mas tenho uma dúvida sobre o SUPEE-6788. Preciso aplicá-lo como outros patches e, posteriormente, posso ativar o recurso de roteamento de administrador no painel de administração do Magento ou enquanto apenas o tempo de instalação for necessário. Por favor sugira.
Mukesh
2
@Muk sim, você pode instalá-lo como outros patches, mas precisa ter cuidado com extensões quebradas, se você usar algumas extensões da lista - precisará corrigi-las manualmente ou aguardar a atualização dos desenvolvedores, até que você possa ativar - Capacidade de roteamento do administrador para extensões
FireBear
@FireBear Você poderia fornecer o seu feedback sobre community.magento.com/t5/Version-Upgrades/... (Antes e Depois no módulo personalizado)
Mukesh
21

Na linha de outros comentários sobre a detecção de conflitos, nós do ParadoxLabs criamos um script para rastrear tudo o que é afetado pelo APPSEC-1034 (controladores administrativos) e APPSEC-1057 (lista branca). Ele também tentará consertar qualquer controlador ruim, já que é uma mudança bastante precisa e invasiva a ser feita.

Ele não cobre o APPSEC-1063 (injeção SQL) ou o APPSEC-1079 (opções personalizadas), mas seria ótimo se pudesse. Não sei como detectar aqueles com qualquer tipo de precisão. Estamos abertos a contribuições.

https://github.com/rhoerr/supee-6788-toolbox

Ryan Hoerr
fonte
3
isso parece realmente útil, bom trabalho!
paj
O fixWhitelists adiciona blocos às listas brancas, mas não parece fazer o mesmo com as variáveis ​​- você pode confirmar?
Zigojacko 6/11
11
@zigojacko Abrange ambos.
Ryan Hoerr
Sim, descobri isso dando uma chance. Excelente trabalho, super trabalho por ParadoxLabs :)
zigojacko
Respeito ao ParadoxLabs. Essa ferramenta está economizando uma grande quantidade de trabalho.
precisa saber é o seguinte
5

Esse script php pode ser útil na identificação do código Magento afetado pelo patch SUPEE-6788 proposto .

Isso não é de forma alguma uma verificação de segurança infalível para esse patch, mas pode ser útil para verificar rapidamente sua instalação quanto aos módulos e códigos afetados.

Instale o script com

wget https://raw.githubusercontent.com/gaiterjones/magento-appsec-file-check/master/magento_appsec_file_check.php

edite o caminho para sua instalação do Magento

$_magentoPath='/home/www/magento/';

corre

php magento_appsec_file_check.php

Os arquivos afetados serão exibidos:

*** Magento security file check ***
[1] APPSEC-1034, addressing bypassing custom admin URL
2 effected files :
<use>admin</use> found in  app/code/community/Itabs/Debit/etc/config.xml
<use>admin</use> found in  app/code/core/Mage/Adminhtml/etc/config.xml


[2] APPSEC-1063, addressing possible SQL injection
2 effected files :
collection->addFieldToFilter(' found in  app/code/community/Itabs/Debit/Model/Export/Abstract.php
collection->addFieldToFilter(' found in  app/code/community/Itabs/Debit/controllers/Adminhtml/OrderController.php
collection->addFieldToFilter(' not found.
collection->addFieldToFilter('\` not found.
collection->addFieldToFilter('\` not found.


[3] APPSEC-1057, template processing method allows access to private information
{{config path= not found.
{{block type= not found.


***********************************

O script usa grep para procurar arquivos Magento em busca de ocorrências do código que possam possivelmente quebrar a compatibilidade com personalizações ou extensões quando a aplicação SUPEE-6788 for aplicada.

paj
fonte
4

Já existe uma grande lista disponível com todas as extensões que serão quebradas com o SUPEE-6788

Mais informações aqui: https://docs.google.com/spreadsheets/d/1LHJL6D6xm3vD349DJsDF88FBI_6PZvx_u3FioC_1-rg/edit#gid=0

Gary Olderman
fonte
Estou realmente curioso para saber como essa lista foi coletada.
mam08ixo
3
Foi crowdsourced; a fonte original é: docs.google.com/spreadsheets/d/…
Herman Slatman
Remova a lista da página acima e vincule-a à fonte, que é mantida atualizada: docs.google.com/spreadsheets/d/…
Aad Mathijssen
11
Existe algum contato para informar sobre as versões atualizadas? Vejo lá pelo menos 2-3 módulos que já foram atualizados.
versedi
-1

A lista de variáveis ​​permitidas, que podem ser processadas via filtro de conteúdo, é maior do que a mostrada no PDF:

+ trans_email/ident_support/name
+ trans_email/ident_support/email
web/unsecure/base_url
web/secure/base_url
trans_email/ident_general/name
+ trans_email/ident_general/email
trans_email/ident_sales/name
trans_email/ident_sales/email
trans_email/ident_custom1/name
trans_email/ident_custom1/email
trans_email/ident_custom2/name
trans_email/ident_custom2/email
general/store_information/name
general/store_information/phone
general/store_information/address

(Adicionei um +antes das variáveis ​​que não foram descritas no PDF)

Os blocos permitidos que podem ser processados ​​via filtro de conteúdo são:

core/template
catalog/product_new
Daniel van der Garde
fonte