Gostaria de consertar uma loja Magento com SUPEE-9767. A documentação do SUPEE-9767 diz para desativar a configuração dos Links simbólicos antes de aplicar o patch:
Antes de aplicar o patch ou atualizar para a versão mais recente, desabilite a configuração Symlinks ... A configuração, se ativada, substituirá a configuração do arquivo de configuração e a alteração exigirá modificação direta do banco de dados.
Mas eu uso o modman para gerenciar módulos e, como alguns módulos estão usando arquivos de modelo, a configuração Symlinks é ativada de acordo com a sugestão no README do modman. É seguro deixar a configuração de Symlinks ativada como uma das postagens no Patch de segurança SUPEE-9767 - Possíveis problemas? sugere (ainda não posso comentar sobre as postagens, pois sou um novo usuário)?
Os usuários que usam o modman para gerenciar os módulos Magento 1.x devem garantir que eles não desabilitem os links simbólicos, pois isso desabilitará os módulos modman.
Se eu deixar a configuração Symlinks ativada, a loja não seria exposta ao APPSEC-1281: Execução remota de código por meio de links simbólicos , uma ameaça à segurança que esse patch deve corrigir?
Existem outras maneiras de usar o modman com arquivos de modelo após esse patch? (Conheço a opção "versão corrigida do Mage / Core / Block / Template.php" que o README do modman menciona, mas corrigir um arquivo principal parece perigoso.)
fonte
Respostas:
Aqui estão alguns esclarecimentos sobre essa alteração:
Leia pela primeira vez esta explicação de Peter O'Callaghan, para obter uma grande compreensão: https://peterocallaghan.co.uk/2017/06/appsec-1281-dangerous-symlinks/
Também outra leitura interessante é esta postagem de Max Chadwick https://maxchadwick.xyz/blog/what-allow-symlinks-actually-does
Essa modificação é realmente sobre chamar conteúdo carregável (como imagens) por meio de diretivas de modelo.
O problema relacionado aos links simbólicos é explorável apenas com acesso de administrador, e o Magento também adicionou mais proteção aos envios de imagens.
Observe que existem algumas proteções contra a maneira conhecida de explorá-lo, além da própria configuração.
Portanto, se você entender o risco envolvido, poderá deixar os links simbólicos ativados.
Se você precisar habilitá-los para uma nova instalação, execute:
fonte
O problema não é de links simbólicos, mas de caminhos que atingem níveis como
../../../../../media/tmp/hahaha.png
. Se eu estiver errado, por favor, me esclareça. A "correção" foi intitulada "Permitir links simbólicos" e habilitar isso desabilita a verificação que foi implementada usandorealpath()
. Na minha opinião, uma correção igualmente segura, mais eficiente e ainda compatível com links simbólicos é usarstrpos($path, '..')
e / ou verificar se issorealpath()
corresponde a certos diretórios arriscados comomedia
evar
. Se implementado dessa maneira, não precisaria ser configurável; ele sempre poderia ser ativado e ainda assim não quebrar milhares de lojas.Independentemente disso, o usuário do servidor da web não deve ter acesso para gravar arquivos nos diretórios de código-fonte (como o Magento Connect ...), portanto, é outra maneira de impedir que códigos maliciosos sejam gravados em algum lugar e executados como um modelo de bloco.
Portanto, esse ataque aos links simbólicos é mal direcionado e existe uma correção melhor. Na verdade, eu forneci um há mais de um ano e há até um link para ele no README do modman github.
fonte
Se, no extra do seu arquivo de compositor, você definir a estratégia magento-deploy para copiar seus arquivos, será copiado da pasta do fornecedor em vez de links simbólicos.
Você pode modificar seu core_config_data para definir o valor de dev / template / allow_symlink como 0
Recurso para informações
fonte
Você pode substituir as alterações do SUPEE-9767 de maneiras diferentes, consulte:
Como habilitar links simbólicos após a instalação do SUPEE-9767 V2?
fonte