Git · Winter · CVE-2026-32639
**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()`.