PT-2026-31316 · Ci4Ms+1 · Ci4Ms+1

Publicado

2026-04-08

·

Atualizado

2026-04-08

·

CVE-2026-39389

CVSS v3.1

7.2

Alta

VetorAV: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

CVE-2026-39389
GHSA-9RXP-F27P-WV3H

Produtos afetados

Ci4Ms
Codeigniter4