PT-2026-76554 · Git+2 · Winter+1
CVSS v3.1
6.8
Média
| Vetor | AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:N/A:N |
Nome do Software Vulnerável e Versões Afetadas
Winter CMS versões anteriores a 1.2.13
Description
Os manipuladores AJAX do Editor de Temas na seção CMS não impõem verificações de permissão por tipo de template. Embora o controlador CMS
CmsControllersIndex utilize lógica OR entre cinco permissões (cms.manage pages, cms.manage partials, cms.manage layouts, cms.manage content, cms.manage assets) para conceder acesso à seção, manipuladores individuais como onSave(), onDelete() e onDeleteTemplates() não verificam se o usuário possui a permissão específica para o tipo de template solicitado. Isso permite que um usuário autenticado no backend com qualquer permissão única do CMS execute ações não autorizadas, como excluir layouts, modificar parciais ou ler arquivos de conteúdo. Além disso, o widget AssetList é registrado para qualquer usuário que passe pelo controle do controlador, independentemente da permissão cms.manage assets, e seu manipulador onUpload() carece da chamada de validação de tema utilizada por outros manipuladores de mutação, permitindo o upload não autorizado de arquivos no diretório de ativos do tema ativo.Recommendations
Atualize para a versão 1.2.13.
Como solução temporária, em
modules/cms/controllers/Index.php, envolva cada registro de widget no construtor com a verificação hasAccess() correspondente e adicione uma chamada validateRequestType() aos manipuladores index onOpenTemplate(), onSave(), onCreateTemplate(), onDeleteTemplates(), onDelete(), onCommit() e onReset() para verificar se o usuário possui a permissão para o tipo de template solicitado.
Como solução temporária, em modules/cms/widgets/AssetList.php, adicione uma chamada $this->validateRequestTheme() no início do método onUpload().Exploit
Correção
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Winter
Winter/Wn-Cms-Module