PT-2026-31316 · Ci4Ms+1 · Ci4Ms+1
Publicado
2026-04-08
·
Atualizado
2026-04-08
·
CVE-2026-39389
CVSS v3.1
7.2
Alta
| Vetor | AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
Nome do Software Vulnerável e Versões Afetadas
CI4MS versões anteriores a 0.31.4.0
Descrição
CI4MS, um esqueleto de CMS baseado em CodeIgniter 4, é suscetível ao acesso e manipulação de arquivos confidenciais. O controlador Fileeditor define uma lista de caminhos sensíveis à segurança (
.env, composer.json, vendor/, .git/) no array hiddenItems, mas essa proteção é aplicada apenas no método listFiles(). Os endpoints readFile(), saveFile(), deleteFileOrFolder(), renameFile(), createFile() e createFolder() não possuem essa validação, permitindo acesso direto à API para arquivos protegidos. Um usuário de backend com permissão fileeditor.read pode potencialmente exfiltrar segredos de aplicativos do .env, e um usuário com permissão fileeditor.update pode sobrescrever composer.json para obter execução remota de código. A proteção CSRF está desabilitada para todas as rotas do editor de arquivos, aumentando o risco de exploração. Uma prova de conceito demonstra a leitura do arquivo .env, a leitura de arquivos de configuração PHP, a sobrescrita de composer.json para execução remota de código e a exclusão do arquivo .env. O impacto inclui divulgação de credenciais, execução remota de código, negação de serviço e um limite de segurança falso.Recomendações
Aplique a validação
hiddenItems a todos os endpoints que aceitam um parâmetro path. Extraia a verificação para um método reutilizável e também adicione allowedFileTypes a readFile(). Reative a proteção CSRF removendo a isenção CSRF em FileeditorConfig.php e garantindo que o frontend envie tokens CSRF com as solicitações.Correção
Improper Authorization
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Ci4Ms
Codeigniter4