Dredsen

#10953de 53,630
25.1CVSS total
Vulnerabilidades · 4
Média
2
Alta
1
Crítica
1
PT-2026-41969
9
2026-05-19
Algernon · Algernon · CVE-2026-45721
**Nome do Software Vulnerável e Versões Afetadas** Algernon versão 1.17.6 **Descrição** Existe um problema onde o software realiza uma busca ascendente ilimitada por um arquivo chamado `handler.lua` quando é feita uma requisição para um caminho de URL que resolve para um diretório sem um arquivo de índice. Essa busca pode ultrapassar a raiz do servidor configurada até chegar à raiz do sistema de arquivos. Se um arquivo `handler.lua` for encontrado em qualquer diretório pai, ele é executado pelo interpretador Lua com acesso total à API do Algernon e bibliotecas não isoladas, incluindo `os`, `io`, `package` e `debug`. Esse processo ocorre antes das verificações de permissão, permitindo a execução remota de código não autenticada. Um invasor que consiga gravar um arquivo `handler.lua` em qualquer diretório pai da raiz do servidor — como em ambientes de hospedagem compartilhada, executores de CI ou via arquivos `.alg` maliciosos extraídos para `/dev/shm` — pode executar comandos arbitrários. Primitivas perigosas disponíveis para exploração incluem a função `run3()`, `os.execute` e `io.popen`. **Recomendações** Para a versão 1.17.6, limite a busca do `DirPage` para garantir que ela termine assim que o diretório ancestral não for mais um descendente da raiz do servidor configurada. Como mitigação temporária, certifique-se de que não existam arquivos `handler.lua` em nenhum diretório pai da raiz do servidor e restrinja as permissões de gravação nesses diretórios. Restrinja o uso de arquivos `.alg` que contenham um arquivo `handler.lua` no nível superior.
PT-2026-41970
7.5
2026-05-19
Algernon · Algernon · CVE-2026-45728
**Nome do Software Vulnerável e Versões Afetadas** Algernon versões anteriores a 1.17.7 **Descrição** Quando o Algernon é iniciado com um caminho de arquivo único em vez de um diretório, o `singleFileMode` é ativado, o que habilita forçadamente o `debugMode`. Essa configuração ativa o renderizador `PrettyError`, que expõe o caminho absoluto no disco e o conteúdo completo em bytes do arquivo que causou um erro de Lua ou de template, juntamente com o texto da exceção ou do erro de análise. Essas informações são servidas com um status HTTP 200 OK para qualquer solicitante. Um invasor pode disparar essa exposição provocando um erro de tempo de execução por meio de entradas comuns, como enviar um método HTTP não suportado para um endpoint, enviar tipos de parâmetros inválidos que causem uma falha no `tonumber()` ou enviar solicitações sem os cabeçalhos obrigatórios. Isso pode levar à exposição do código-fonte do lado do servidor, incluindo strings de conexão de banco de dados, chaves de API e segredos. Notavelmente, o uso da flag `--prod` não impede esse comportamento para extensões que não sejam `.lua` (como `.po2`, `.amber`, `.html`, `.tmpl`, `.tl` ou `.pongo2`), pois a sobreposição forçada do `debugMode` tem precedência. **Recomendações** Atualize para a versão 1.17.7. Como solução temporária, evite iniciar o servidor com um caminho de arquivo único e, em vez disso, sirva o conteúdo a partir de um diretório. Restrinja o uso do modo de arquivo único para qualquer ambiente exposto a tráfego de rede não confiável.