
Exploit de prova de conceito para CVE-2022-24086 e CVE-2022-24087, demonstrando execução remota de código pré-autenticação no Magento/Adobe Commerce via payloads manipulados que contornam a validação de entrada.
CVE-2022-24086 and CVE-2022-24087 - vulnerabilidade de validação de entrada incorreta no formulário de contato do Magento Open Source e Adobe Commerce - recebeu uma pontuação CVSS de 9,8 em 10, sendo classificada como um problema de pré-autenticação, o que significa que pode ser explorada sem credenciais.
Magento Open Source / Adobe Commerce - 2.3.3-p1 - 2.3.4
Magento Open Source / Adobe Commerce - 2.3.4-p2 - 2.4.2-p2
Magento Open Source / Adobe Commerce - 2.4.3 - 2.4.3-p1
A CVE-2022-24086 foi uma vulnerabilidade crítica de segurança zero-day que afetou lojas Magento. A vulnerabilidade foi relatada em ataques limitados. Outra falha, a CVE-2022-24087, tem o mesmo nível de gravidade e vetor de ataque semelhante.
Após algumas pesquisas, não encontrei nenhum PoC legítimo e funcional para demonstrar a gravidade dessa falha da Adobe e decidi criar o meu. Ao fazer engenharia reversa dos patches oficiais e não oficiais, descobri que em /app/code/Magento/Email/Model/Template/Filter.php a entrada não era limpa corretamente e, devido à incapacidade da plataforma de reconhecer uma combinação de tipos de caracteres durante a validação do formulário, sequências prejudiciais podem causar estragos sem impedimento, permitindo ignorar os métodos de validação de entrada normalmente usados para higienizar tipos de entrada indesejados. Isso abre a possibilidade de ataques de injeção de objetos SQL e PHP no Magento, que podem adicionar entradas indesejadas no banco de dados ou permitir a execução remota de código.
Algumas partes do código adicionado nos patches oficiais (MDVA-43395) que nos levaram ao PoC:
O que precisamos fazer é criar um payload sofisticado para enviar via POST: