
CVE-2024-49379 PoC
Este repositório contém uma Prova de Conceito (PoC) baseada em Python para uma vulnerabilidade crítica identificada no UmbrelOS. A vulnerabilidade permite Cross-Site Scripting (XSS), que pode escalar para Execução Remota de Código (RCE) sob condições específicas.
O problema foi identificado na funcionalidade de login, especificamente na forma como o parâmetro de consulta redirect é tratado. Um payload malicioso pode ser injetado, permitindo a execução não autorizada de JavaScript no contexto da sessão de um usuário.
A vulnerabilidade existe devido à validação inadequada de entrada e a fluxos não verificados do parâmetro de consulta redirect para funções sink sensíveis do navegador, como window.location.href. Essa falha permite que um atacante injete JavaScript arbitrário na sessão de uma vítima. Sob certas condições, isso pode ser escalado para execução de comandos no lado do servidor por meio da interface WebSocket do terminal do Umbrel.
redirect.Este repositório inclui um script Python (poc.py) para gerar uma URL maliciosa contendo o payload de exploração. O script destina-se exclusivamente a fins educacionais e de testes de segurança autorizados.
Clone o repositório:
git clone https://github.com/your-org-or-username/CVE-2024-49379.git
cd CVE-2024-49379
Execute o script:
python3 poc.py
Compartilhe a URL gerada com um ambiente de teste para observar o impacto da vulnerabilidade.
A vulnerabilidade foi corrigida na versão 1.2.2 do UmbrelOS. Todos os usuários são fortemente aconselhados a atualizar para a versão mais recente. Além disso, práticas de codificação segura, como validação de entrada e redirecionamentos seguros, devem ser empregadas para prevenir problemas semelhantes.
Esta PoC é fornecida exclusivamente para fins educacionais e de testes autorizados. O uso ou a distribuição não autorizada deste código pode resultar em consequências legais. Sempre obtenha permissão explícita do proprietário do sistema antes de realizar qualquer teste ou exploração de vulnerabilidade.
Este repositório é distribuído sob a Licença MIT. Ao usar este repositório, você concorda em seguir diretrizes éticas e leis aplicáveis.