A vulnerabilidade zero-day no Magento batizada de StyleSmuggler representa uma ameaça crítica para lojas virtuais que utilizam Magento Open Source ou Adobe Commerce. A falha permite que invasores não autenticados executem código remotamente e, em ataques observados pelos pesquisadores, avancem da exploração da aplicação para a instalação de um backdoor no servidor Linux.
O aspecto mais preocupante é que a ameaça não depende necessariamente de credenciais administrativas e pode atingir ambientes que já receberam as atualizações de segurança disponíveis. Isso transforma a StyleSmuggler em um problema que exige não apenas atualização, mas também investigação ativa de possíveis comprometimentos.
O ataque utiliza uma cadeia sofisticada envolvendo GraphQL, arquivos de log, renderização de e-mails e componentes internos do Magento. Depois da exploração, o invasor pode implantar um malware desenvolvido em Rust, projetado para se misturar aos processos legítimos do Linux e dificultar sua identificação por ferramentas convencionais.
Como funciona a vulnerabilidade zero-day no Magento
A StyleSmuggler explora uma combinação de funcionalidades legítimas do Magento para transformar dados controlados remotamente em código executável. O ataque começa com uma requisição especialmente criada enviada à aplicação e pode utilizar o GraphQL como parte da cadeia de exploração.
O invasor consegue manipular determinados conteúdos que posteriormente são armazenados em arquivos utilizados pelo Magento. Entre os elementos envolvidos estão registros em var/log/system.log e relatórios gerados pela plataforma.
O problema surge quando esses conteúdos são posteriormente processados por componentes responsáveis pela geração de templates e pela compilação da injeção de dependências.
Em vez de permanecer como texto dentro de um log, o conteúdo malicioso acaba sendo interpretado pelo PHP em uma etapa posterior da cadeia. Isso cria as condições para a execução remota de código (RCE) sem que o atacante precise fornecer uma senha válida.

O papel do GraphQL e do sistema de e-mails
Um dos detalhes mais interessantes da exploração está no uso combinado de funcionalidades que, isoladamente, parecem legítimas.
O atacante pode utilizar o GraphQL para introduzir dados especialmente preparados. Posteriormente, esses dados podem ser incorporados a uma operação que provoca a geração de um e-mail de relatório ou de falha de pagamento.
Quando o Magento tenta renderizar esse e-mail, determinados componentes da plataforma processam o conteúdo anteriormente armazenado.
O resultado é uma cadeia na qual entrada controlada pelo atacante → log/relatório → renderização de template → execução de PHP.
Isso também explica por que simplesmente procurar uma página maliciosa ou um arquivo PHP tradicional dentro da raiz do site pode não revelar o ataque.
Por que uma loja atualizada ainda pode estar vulnerável
Esse é um dos pontos que mais preocupam administradores.
A existência de patches recentes não significa que uma instalação esteja protegida contra uma vulnerabilidade que ainda não possuía uma correção oficial. Uma atualização pode corrigir dezenas de problemas conhecidos e, ainda assim, deixar aberta uma vulnerabilidade inédita.
Segundo a investigação sobre a StyleSmuggler, foram observados comprometimentos em instalações que já utilizavam versões recentes e patches de segurança disponíveis.
Portanto, o administrador não deve interpretar a mensagem “nenhuma atualização disponível” como sinônimo de “servidor seguro” diante de uma campanha zero-day.
Como o malware em Rust se esconde no Linux
Depois de conseguir executar código no servidor, o atacante pode instalar um segundo estágio muito mais difícil de detectar.
O malware identificado na campanha foi desenvolvido em Rust e utiliza diferentes técnicas para reduzir sua visibilidade no sistema operacional.
Uma delas consiste em utilizar um nome semelhante ao de uma thread legítima do kernel:
[kworker/u:8:0]
À primeira vista, o nome pode parecer relacionado ao funcionamento interno do Linux. Entretanto, uma análise mais cuidadosa do processo pode revelar inconsistências.
Uma falsa thread desse tipo pode estar sendo executada pelo usuário responsável pelo Magento, em vez de root, além de apresentar características de consumo de memória incompatíveis com uma verdadeira thread do kernel.
O backdoor pode estar fora da raiz do Magento
Outro problema é a localização do payload.
Em vez de permanecer em public_html, htdocs, pub ou outro diretório diretamente associado à aplicação, o malware pode ser armazenado em diretórios pertencentes ao usuário do serviço.
Isso significa que uma ferramenta que verifica apenas os arquivos da instalação do Magento pode não encontrar o componente malicioso.
Diretórios ocultos dentro do home do usuário, arquivos temporários e mecanismos de persistência precisam fazer parte da investigação.
Persistência através do cron
Encontrar e finalizar o processo malicioso também não significa que o incidente terminou.
O malware pode utilizar o cron para iniciar novamente o processo periodicamente. Dessa maneira, mesmo depois de uma interrupção manual, o backdoor pode retornar.
Por isso, a investigação precisa incluir comandos como:
crontab -l
e também verificar tarefas agendadas em locais como:
/etc/cron.d/
/etc/cron.hourly/
/etc/cron.daily/
/var/spool/cron/
Além disso, processos que continuam ativos a partir de um arquivo já removido devem ser considerados durante a análise.
O que fazer agora para proteger uma loja Magento
Diante de uma possível exploração ativa, a resposta precisa ocorrer em duas frentes: contenção preventiva e investigação de comprometimento.
Desative o GraphQL quando ele não for necessário
Se a operação da loja não depende do GraphQL, desativar ou restringir temporariamente esse endpoint pode reduzir significativamente a superfície de ataque.
Entretanto, essa medida precisa ser avaliada cuidadosamente em ambientes headless, PWA ou que utilizem integrações externas baseadas em GraphQL.
Não é recomendável simplesmente bloquear o recurso sem verificar quais partes da operação dependem dele.
Restrinja funções perigosas do PHP
Outra camada de proteção consiste em avaliar a utilização de funções de execução de processos do PHP, especialmente:
exec
system
shell_exec
passthru
proc_open
popen
Quando tecnicamente possível, essas funções podem ser restringidas através do disable_functions.
Atenção especial deve ser dada ao proc_open, pois ele pode permitir que processos externos sejam iniciados mesmo quando outras funções de execução foram bloqueadas.
Essa alteração deve ser testada previamente. Uma configuração excessivamente agressiva pode interromper tarefas legítimas do Magento ou de extensões instaladas.
Utilize noexec em áreas temporárias
Administradores também podem avaliar a montagem de áreas como /tmp, /var/tmp e /dev/shm com a opção noexec.
O objetivo é impedir que arquivos binários armazenados nesses locais sejam executados diretamente.
Essa técnica não corrige a vulnerabilidade, mas adiciona uma camada de hardening do Linux que pode dificultar determinados estágios do ataque.
Como investigar um possível backdoor no Magento
Se houver qualquer suspeita de comprometimento, a investigação deve começar antes de uma limpeza indiscriminada.
Procure processos que estejam imitando threads do kernel:
ps -eo pid,user,rss,args --no-headers | awk '$4 ~ /^\[/ && $2 != "root"'
Depois, examine os agendamentos do usuário que executa o Magento:
crontab -l 2>/dev/null
Também vale procurar arquivos suspeitos em diretórios temporários e no diretório pessoal do usuário.
Para investigar possíveis injeções nos logs:
grep -rl '<?php' var/log/ var/report/ 2>/dev/null
E, quando houver acesso aos logs de servidor, procure requisições associadas aos padrões conhecidos da campanha.
Esses comandos são indicadores de investigação, não uma ferramenta de garantia de limpeza. Um invasor pode utilizar técnicas diferentes ou remover parte dos vestígios.
Não confunda remoção do processo com limpeza do servidor
Esse é um erro comum em incidentes de malware.
Executar:
kill -9 PID
pode eliminar temporariamente um processo, mas não necessariamente remove sua persistência.
O administrador deve verificar cron, systemd, arquivos ocultos, chaves SSH, usuários, permissões, processos filhos, conexões de rede e alterações na aplicação.
Quando existe evidência concreta de comprometimento, a abordagem mais segura pode ser reconstruir o servidor a partir de uma imagem confiável, em vez de tentar garantir manualmente que todos os artefatos foram removidos.
O que a StyleSmuggler ensina sobre segurança
A vulnerabilidade zero-day no Magento demonstra por que proteger uma loja virtual exige muito mais do que manter o CMS atualizado.
A exploração começa na aplicação, passa pelo PHP, alcança o sistema operacional e pode terminar com a instalação de um backdoor persistente no Linux.
Também fica evidente a importância de monitorar o servidor fora da raiz da aplicação. Um atacante não precisa deixar um arquivo shell.php obviamente suspeito dentro do Magento para manter acesso.
Processos anômalos, cron jobs inesperados, arquivos ocultos, conexões locais, alterações em logs e execução de binários fora dos diretórios esperados podem ser indicadores tão importantes quanto os próprios arquivos da aplicação.
Para administradores de Magento e Adobe Commerce, a recomendação é direta: reduza a superfície de ataque, aplique as mitigações disponíveis, investigue sinais de comprometimento e monitore continuamente o servidor.
Se sua loja utiliza Magento ou Adobe Commerce, compartilhe este alerta com a equipe responsável pela infraestrutura e trate qualquer servidor potencialmente afetado como um possível incidente de segurança até que a análise demonstre o contrário.
