Plataforma
ruby
Componente
sprout
A vulnerabilidade CVE-2013-6421 é uma falha de Command Injection presente no sprout gem para Ruby, especificamente na função unpackzip do arquivo archiveunpacker.rb. Essa falha permite que atacantes executem comandos arbitrários no sistema, explorando a presença de metacaracteres em nomes de arquivos ou caminhos durante o processo de descompactação de arquivos ZIP. A vulnerabilidade afeta versões do sprout gem até 0.7.246 e a correção está disponível em versões mais recentes.
Um atacante pode explorar essa vulnerabilidade enviando um arquivo ZIP malicioso contendo nomes de arquivos ou caminhos que incluem metacaracteres do shell. Quando o sprout gem tenta descompactar esse arquivo, os metacaracteres são interpretados pelo sistema operacional, permitindo a execução de comandos arbitrários. O impacto pode ser severo, incluindo a obtenção de acesso não autorizado ao sistema, roubo de dados confidenciais, instalação de malware ou até mesmo o controle total do servidor. A falha se assemelha a outras vulnerabilidades de Command Injection, onde a falta de validação adequada da entrada do usuário permite a injeção de comandos maliciosos.
A vulnerabilidade CVE-2013-6421 foi divulgada em 2017. Não há informações disponíveis sobre sua inclusão no KEV (CISA KEV catalog) ou sobre uma pontuação EPSS. Embora não haja relatos públicos de exploração ativa, a natureza da vulnerabilidade (Command Injection) a torna um alvo atraente para atacantes. A existência de um proof-of-concept público pode facilitar a exploração por atores maliciosos.
Applications and services utilizing the Sprout gem, particularly those handling user-uploaded files or processing zip archives from untrusted sources, are at significant risk. Ruby applications deployed on older operating systems or with outdated gem dependencies are also more vulnerable. Shared hosting environments where multiple applications share the same Ruby environment are particularly susceptible, as a compromise in one application could potentially affect others.
• ruby / server:
grep -r 'unpack_zip' /path/to/ruby/gems/sprout-*/archive_unpacker.rb• ruby / server:
find /path/to/ruby/gems/ -name 'archive_unpacker.rb' -mtime +30• ruby / server:
ps aux | grep sproutdiscovery
disclosure
Status do Exploit
EPSS
1.23% (percentil 79%)
A mitigação primária para CVE-2013-6421 é atualizar o sprout gem para uma versão corrigida, onde a vulnerabilidade foi resolvida. Se a atualização imediata não for possível devido a incompatibilidades ou outros fatores, considere implementar medidas de segurança adicionais, como restringir o acesso ao sistema, validar rigorosamente os nomes de arquivos e caminhos antes da descompactação, e monitorar logs de sistema em busca de atividades suspeitas. Implementar um Web Application Firewall (WAF) pode ajudar a bloquear solicitações maliciosas. A validação de entrada é crucial; rejeite arquivos ZIP com nomes de arquivos suspeitos. Após a atualização, confirme a correção verificando se a função unpack_zip está utilizando a lógica de validação aprimorada.
Nenhum patch oficial disponível. Procure alternativas ou monitore atualizações.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
CVE-2013-6421 is a command injection vulnerability affecting versions of the Sprout gem (≤0.7.246) where shell metacharacters in filenames/paths during zip unpacking can lead to arbitrary command execution.
You are affected if your application uses Sprout gem version 0.7.246 or earlier. Check your gemfile and run gem list sprout to determine your version.
Upgrade the Sprout gem to a patched version. A specific fixed version is not provided, so consult the Sprout gem project for the latest secure release.
While there's no confirmed active exploitation, the vulnerability's age and potential for RCE suggest it remains a risk, especially in unpatched systems.
Consult the Sprout gem project's website or repository for advisories and release notes related to CVE-2013-6421.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.
Envie seu arquivo Gemfile.lock e descubra na hora se você está afetado.