Plataforma
go
Componente
goshs
Corrigido em
1.0.8
O goshs, um servidor HTTP simples escrito em Go, apresentava uma vulnerabilidade que permitia a escrita de arquivos fora do diretório raiz do SFTP. Essa falha ocorreu devido à falta de sanitização adequada do caminho de destino durante a operação de renomeação. A correção foi implementada na versão 2.0.0-beta.4.
A vulnerabilidade CVE-2026-40188 em goshs, um SimpleHTTPServer escrito em Go, permite que um atacante escreva arquivos fora do diretório raiz do SFTP. Isso ocorre devido à sanitização inadequada do caminho de destino no comando 'rename' do SFTP. As versões do goshs de 1.0.7 até a 2.0.0-beta.4 são suscetíveis a este problema. Um atacante pode explorar esta vulnerabilidade para modificar arquivos críticos do sistema ou comprometer a integridade dos dados armazenados no servidor. A severidade da vulnerabilidade é classificada como 7.7 na escala CVSS, o que indica um risco significativo. A falta de validação adequada do caminho de destino permite a manipulação da localização dos arquivos, abrindo a porta para ataques de escalada de privilégios e negação de serviço.
A vulnerabilidade é explorada através do comando 'rename' no protocolo SFTP. Um atacante com acesso ao servidor SFTP pode enviar um comando 'rename' com um caminho de destino malicioso que aponta para fora do diretório raiz. Devido ao fato de que apenas o caminho de origem é validado, o servidor não verifica se o caminho de destino está dentro dos limites permitidos. Isso permite que o atacante sobrescreva arquivos em locais inesperados. A exploração requer acesso ao servidor SFTP, que pode ser obtido através de credenciais comprometidas ou por meio de outras vulnerabilidades no sistema.
Applications built using the goshs library, particularly those handling user-supplied data or sensitive information, are at risk. This includes Go-based microservices, APIs, and command-line tools that rely on goshs for data processing. Projects using older versions of goshs (1.0.7–>= 1.0.7, < 2.0.0-beta.4) are particularly vulnerable.
• go / binary: Examine goshs library usage within Go applications. Look for instances where data is passed to goshs functions without proper validation.
// Example: Check for suspicious data manipulation
if data.ParamValue != nil && data.ParamValue.Value != nil {
// Validate data.ParamValue.Value before using it with goshs
}• generic web: Monitor application logs for unusual patterns related to data modification or unexpected behavior after data processing. • generic web: Check for unusual file modifications within the application's data directory, especially if goshs is used to manage configuration files.
disclosure
Status do Exploit
EPSS
0.03% (percentil 8%)
CISA SSVC
Vetor CVSS
A solução para esta vulnerabilidade é atualizar o goshs para a versão 2.0.0-beta.4 ou superior. Esta versão corrige a sanitização do caminho de destino no comando 'rename' do SFTP, impedindo que os atacantes escrevam arquivos fora do diretório raiz. Se não for possível atualizar imediatamente, recomenda-se implementar medidas de segurança adicionais, como restringir o acesso ao servidor SFTP a usuários autorizados e monitorar a atividade do servidor em busca de comportamentos suspeitos. A atualização é a medida mais eficaz para mitigar o risco associado a esta vulnerabilidade. Deve-se priorizar a atualização em ambientes de produção e desenvolvimento.
Actualice goshs a la versión 2.0.0-beta.4 o superior para mitigar la vulnerabilidad. Esta versión corrige el problema de sanitización incorrecta de la ruta de destino en el comando rename de SFTP, evitando la posibilidad de escribir archivos fuera del directorio raíz.
Análise de vulnerabilidades e alertas críticos diretamente no seu e-mail.
goshs é um SimpleHTTPServer escrito em Go que também suporta SFTP.
É um identificador único para esta vulnerabilidade, usado para rastrear e referenciá-la em bancos de dados de segurança.
Implemente medidas de segurança adicionais, como restringir o acesso ao SFTP e monitorar a atividade do servidor.
Sim, todas as versões de 1.0.7 até a 2.0.0-beta.4 são vulneráveis.
Verifique a versão do goshs que você está usando. Se for anterior a 2.0.0-beta.4, você está afetado.
Envie seu arquivo de dependências e descubra na hora se esta e outras CVEs te atingem.
Envie seu arquivo go.mod e descubra na hora se você está afetado.