Um novo patch de segurança está disponível para o Magento 1, abordando 25 questões APPSEC
https://magento.com/security/patches/supee-10752
Quais problemas comuns você deve observar ao aplicar esse patch?
SUPEE-10752, Magento Commerce 1.14.3.9 e Open Source 1.9.3.9 contêm vários aprimoramentos de segurança que ajudam a fechar a execução remota de código autenticada do usuário Admin (RCE), a falsificação de solicitação entre sites (CSRF) e outras vulnerabilidades.
Informações sobre todas as alterações nas versões 1.14.3.9 e 1.9.3.9 estão disponíveis nas notas de versão do Magento Commerce e Magento Open Source.
Patches e atualizações estão disponíveis para as seguintes versões do Magento:
Magento Commerce 1.9.0.0-1.14.3.9: SUPEE-10752 ou atualize para o Magento Commerce 1.14.3.9.
Magento Open Source 1.5.0.0-1.9.3.9: SUPEE-10752 ou atualize para o Magento Open Source 1.9.3.9.
fonte
Respostas:
Como mencionado pelos documentos oficiais do Magento :
Os conflitos durante a instalação do patch SUPEE-10752 são causados com mais freqüência pela instalação da versão 1 do patch anterior ( SUPEE-10570v1 ).
Certifique-se de remover o SUPEE-10570v1 e instalar o SUPEE-10570v2 antes da instalação do novo SUPEE-10752.
fonte
Os arquivos abaixo são alterados / criados após a aplicação do patch
Para a edição EE, os arquivos abaixo são adicionados, exceto CE
Qualquer pessoa que substitua o arquivo onepage.php, atualize o arquivo.
Para validação de chave adicionada, verifique o formulário do seu carrinho com a chave do formulário
cron.php: identificador de exceção no arquivo cron.php
GD2: retorna o tipo mime real.
Se você usar o nginx em vez do Apache, atualize sua configuração para duplicar essa alteração.
O método de envio dos arquivos adicionados / atualizados recentemente é:
Arquivos Escapehtml:
Arquivos de front-end de produtos para download: qualquer pessoa que utilize um produto para download, atualize os arquivos nos arquivos de tema.
Verificar código
Substituir com
Verificar código
Substituir com
Verificar código
Substituir com
Verificar código
Substituir com
Substituir com
Substituir com
Verificar código
Substituir com
Verificar código
Substituir com
Outros arquivos Escapehtml:
fonte
A modificação no
filter
método sobrecarregado emZend_Filter_PregReplace
é ingênua e assume que$this->_matchPattern
sempre é uma string. Essa propriedade é fornecida posteriormente como o primeiro argumento parapreg_replace
. Na realidade, uma matriz também é um argumento perfeitamente válido. Esse fato é realmente usado por váriasZend_Filter
classes principais (comoZend_Filter_Word_SeparatorToCamelCase
). Portanto, qualquer extensão / ramificação de código que use esse filtro ou um de seus derivados, com um argumento de matriz para_matchPattern
, começará a ser lançadaWarning: substr() expects parameter 1 to be a string, array given
.Um exemplo grosseiro do que provavelmente deveria fazer seria algo como:
Embora eu não tenha feito nenhum teste completo ainda.
EDIT: Vale ressaltar que, embora a solução proposta acima deva evitar os erros, a implementação ainda é tecnicamente um pouco ingênua e propensa a falsos positivos. Ele pressupõe que o delimitador de expressão regular que separa o padrão dos modificadores seja o mesmo do início da sequência. Tecnicamente, isso não precisa ser o caso, pois o PHP suporta vários delimitadores de estilo de colchete. Portanto, a entrada válida
{hello}is
determinará que os modificadores sãohello}is
(em vez dos modificadores reais deis
) e, portanto, lançará uma exceção, mesmo que o padrão não inclua realmente oe
modificador.fonte
1.7.0.2 Problema com a versão: Depois de instalar o patch e acessar uma página (caixa genérica do Magento), obtenha este erro
Erro de análise: erro de sintaxe, inesperado
Invertendo o patch, o erro desaparece.
Analisando mais profundamente essa questão, descobri que o patch adicionou a seguinte linha ao arquivo onepage.php.
SOLUÇÃO: Obrigado a @FabianSchmengler
ATUALIZAÇÃO PARA PHP versão 5.4 ou superior!
fonte
problema conhecido: -
Se o seu código ou extensão personalizada estiver usando
Zend/Filter/PregReplace.ph
p com o modificador e, ele retornará um erro devido a possíveis problemas de RCE.Este patch segue abaixo da segurança.
+++ app/code/core/Mage/Admin/Model/User.php
e depois
class Mage_Admin_Model_User
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Composite/Fieldset/Options.php
app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php app/code/core/Mage/Adminhtml/Block/Catalog/Product/Edit/Tab/Options/Option.php
app/code/core/Mage/Catalog/Model/Product.php
+++ app/code/core/Mage/Adminhtml/Block/Widget/Grid/Column/Filter/Datetime.php
app/design/frontend/base/default/template/downloadable/catalog/product/links.phtml
app/design/frontend/base/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/base/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/base/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/design/frontend/default/iphone/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/cart/item/default.phtml
app/design/frontend/rwd/default/template/downloadable/checkout/onepage/review/item.phtml
app/design/frontend/rwd/default/template/downloadable/sales/order/items/renderer/downloadable.phtml
app/code/core/Mage/Adminhtml/Model/LayoutUpdate/Validator.php
Mage_Adminhtml_Model_LayoutUpdate_Validator
Mage_Adminhtml_Model_LayoutUpdate_Validator
app/code/core/Mage/Catalog/Model/Resource/Category/Tree.php
app/code/core/Mage/Adminhtml/controllers/Catalog/CategoryController
app/code/core/Mage/Adminhtml/controllers/Cms/WysiwygController.php
lib/Varien/Image/Adapter/Gd2.php
app/code/core/Mage/Checkout/Model/Api/Resource/Customer.php
app/code/core/Mage/Checkout/Model/Type/Onepage.php
app/code/core/Mage/Core/Model/Session/Abstract/Varien.php
app/code/core/Mage/Customer/Helper/Data.php
app/code/core/Mage/Customer/Model/Resource/Customer.php
app/code/core/Mage/Customer/controllers/AccountController.php
Mage_Customer_AccountController
``
app/code/core/Mage/Log/Model/Visitor.php
app/code/core/Mage/Usa/Helper/Data.php
Arquivos ADICIONADOS para UPS
Configuração adicionada para esta nova funcionalidade
app/code/core/Mage/Usa/etc/system.xml
Linha 843
886
app/design/adminhtml/default/default/template/system/shipping/ups.phtml
1> 1) Validação do produto do pacote
app/design/adminhtml/default/default/template/bundle/product/edit/bundle/option.phtml
fonte
Parece que parte do patch está htmlEscaping all "getLinksTitle ()". Mas eles esqueceram os seguintes arquivos (isso é baseado no 1.8.1).
fonte
O patch não funciona no Magento CE 1.8.0.0 de baunilha
Atualização: solução adicionada abaixo.
Problema:
Correções anteriores aplicadas:
Solução
Corrigido editando o arquivo de correção. Substituído o patch
downloadable.phtml
por aquele do patch,v1.7.0.2
no arquivo de patch original, estas são as linhas 1854-1862.Isso ocorre principalmente devido ao recuo no arquivo. À medida que as alterações para
downloadable.phtml
dentroV1.7.0.2
são mais recuadas.Solução 2
Eu tive um problema semelhante, mas consegui consertar salvando novamente o arquivo original em um editor que obrigava o final da linha a ser LF no estilo Unix, não no CRLF no estilo Windows ou no Mac CR
fonte
Em referência a Matt Antley, talvez eles não incluam SUPEE-10570v2 por causa disso
Até onde eu sei, o bug do checkout não era muito comum e eles decidiram ficar com o SUPEE-10570, que protege contra os dois problemas de segurança de baixo risco ?!
fonte
SUPEE-10570v2
, terão que reaplicá-los.SUPEE-10752
e pulei a arma um pouco. Mais uma vez, obrigado pelos comentários.O patch não funciona no Magento CE 1.6.0.0
Atualização: solução adicionada abaixo.
Problemas:
Correções anteriores aplicadas:
Resolvido
Corrigi esse problema alterando o arquivo de correção. Substituí os pedaços que davam os problemas de acordo com o patch para a v1.5.1.0. No arquivo de patch original, estas são as linhas 167-177 e 663-670.
fonte
No EE v1.14.2.4 após a aplicação do SUPEE-10752, também tive que aplicar o patch a seguir para corrigir o problema em que o checkout redireciona para a página inicial em vez da página de sucesso:
Arquivo: invalid_session_fix-2018-03-14-05-10-19.patch
A correção acima é encontrada em https://magento.com/tech-resources/download sob SUPEE-10570 > invalid_session_fix.patch (0 MB)
fonte
Eu encontrei um problema após este patch. Não consigo definir "Método Livre" para "Tipo de UPS" "United Parcel Service XML". O Magento gera um erro quando qualquer método é selecionado no menu suspenso "Método livre". Erro: "O campo" O método livre de ups "tem valor incorreto. "
Alguém enfrentou o mesmo problema e conseguiu a solução?
Desde já, obrigado!
fonte
Na versão 1.6, o patch ups.phtml está quebrado. Ele está fazendo referência a $ storedOriginShipment, $ storedFreeShipment, que possui um erro de digitação em 1.6 ($ stroredOriginShipment e $ stroredFreeShipment). Além disso, ele faz referência a $ storedUpsType que não existe na versão 1.6.
fonte
Encontramos um problema no 1.9.1.0 e 1.9.2.4 (não testado em outros). Ele não aparece em todos os nossos projetos, mas foi repetido em vários deles. Acreditamos que isso possa estar afetando os projetos que tinham o SUPEE-10570v1 instalado em algum momento.
Depois de aplicar o patch, se um usuário fizer login, ele verá a página da conta perfeitamente bem. No entanto, se tentarem retornar a qualquer outra página no site, a página deixará de responder e eles verão uma tela em branco ou um 502 Bad Gateway. Isso se deve ao fato de o PHP entrar em um loop infinito e sofrer falha de segmentação ou ser interrompido pelas configurações .ini.
Eu consegui desenterrar que o problema é uma recursão infinita na linha que carrega o
$customer
em\app\code\core\Mage\Customer\Helper\Data.php
,getPasswordTimestamp()
.Ao olhar para o rastreamento da pilha da recursão infinita, ele continua repetindo isso repetidamente. De alguma forma, parece que
->load()
acaba chamando ogetPasswordTimestamp()
método.A solução alternativa apresentada em /magento//a/235984/67252 funciona bem, mas eu gostaria de saber o que está acontecendo.
fonte
Após aplicar o patch SUPEE 10752, o registro e a finalização da compra estão levando a página de sucesso para a página inicial. Alguma sugestão?
fonte
Vimos uma página em branco em / checkout / * após aplicar o SUPEE-10752 e compilar
versão: 1.9.1.0
Condições de acionamento: aplicando o SUPEE-10752 + ativar o compilador + logon como cliente, visite / checkout / *
Apenas para esclarecer: com o compilador desativado, tudo correu bem; com o compilador ativado, só conseguimos ver uma página em branco do carrinho quando logado sem nenhuma entrada de log (mesmo depois de ativar todos os logs possíveis e modo de desenvolvedor).
fonte