No resumo desta semana, discutiremos o seguinte:
- Uma vulnerabilidade XSS num plugin WordPress muito popular, Advanced Custom Fields;
- Vulnerabilidade XSS do cPanel; e
- Uma potencial vulnerabilidade de exposição de informações no Flask
CVE-2023-30777: Plugin WordPress Advanced Custom Fields (ACF) e ACF Pro: XSS não autenticado
Antecedentes
Advanced Custom Fields (ACF) e ACF Pro, as versões gratuita e profissional dos plugins ACF, respectivamente, é um plugin WordPress muito popular com mais de dois milhões de instalações activas. Este plugin facilita a adição e a gestão de campos de conteúdo no ecrã de edição do WordPress. Pode ler aqui para descobrir como pode criar o seu próprio site WordPress numa Instância de Computação Linode.
Vulnerabilidade
A vulnerabilidade registada como CVE-2023-30777 existe nas versões 6.1.5 e seguintes dos plugins ACF e ACF Pro. Trata-se de uma vulnerabilidade XSS reflectida que permite a um atacante injectar scripts maliciosos em sítios Web vulneráveis, induzindo um utilizador a visitar um URL criado. Se a vítima for um utilizador privilegiado, o atacante pode potencialmente roubar informações sensíveis, como cookies ou tokens de sessão, e aumentar os seus privilégios.
A vulnerabilidade reside num manipulador de funções admin_body_class que não higieniza correctamente a entrada do utilizador que é passada para uma variável. Isto permite que um atacante concatene directamente código nocivo, como um payload DOM XSS, para a variável, que contém a cadeia de caracteres da classe body.
Mitigação
- Esta vulnerabilidade foi corrigida na versão 6.1.6 da ficha. Recomenda-se vivamente a actualização do plugin para a versão mais recente.
CVE-2023-29489: cPanel: XSS na página de erro cpsrvd via chamada Web inválida
Antecedentes
O cPanel é um painel de controlo de alojamento web amplamente utilizado por proprietários de sítios Web, administradores e fornecedores de alojamento para gerir e controlar vários aspectos dos seus sítios Web e contas de alojamento. Fornece uma GUI baseada em Linux que permite aos utilizadores gerir facilmente os ficheiros dos seus sítios Web, criar contas de correio electrónico, configurar bases de dados, instalar aplicações, gerir domínios e subdomínios e executar várias outras tarefas administrativas.
Vulnerabilidade
A vulnerabilidade rastreada como CVE-2023-29489 é um XSS reflectido presente nas versões do cPanel anteriores a 11.109.9999.116. A vulnerabilidade surge quando uma chamada Web inválida é chamada com o seu ID contendo conteúdo XSS. A vulnerabilidade está presente no binário cpsrvd, que fornece as funcionalidades principais do cPanel. Efectua uma validação incorrecta do conteúdo fornecido pelo utilizador através da página de erro do cpsrvd. Um ataque XSS é despoletado quando a página de erro contém o conteúdo XSS. Esta vulnerabilidade não requer qualquer autenticação e afecta mesmo as portas de gestão que não estão expostas externamente.
Mitigação
- A vulnerabilidade foi corrigida nas versões 11.109.9999.116, 11.108.0.13, 11.106.0.18 e 11.102.0.31. Recomenda-se a actualização para estas versões para corrigir este problema.
CVE-2023-30861: Flask: Potencial exposição de informações do cookie de sessão permanente
Antecedentes
O Flask é uma estrutura leve de aplicações Web escrita em Python. Proporciona uma forma simples e flexível de criar aplicações Web, tirando partido da linguagem de programação Python . Centra-se na simplicidade e na extensibilidade, não impondo qualquer forma particular de estruturar uma aplicação. O Flask também tem um rico ecossistema de extensões que permite aos programadores escolherem os componentes de que necessitam para o seu projecto.
Vulnerabilidade
A vulnerabilidade é registada como CVE-2023-30861. As versões afectadas dos pacotes Flask são as versões 2.3.0, 2.3.1 e 2.2.4 e seguintes. Trata-se de uma potencial vulnerabilidade de exposição de informações em que uma resposta contendo dados destinados a um cliente pode ser armazenada em cache por um proxy e enviada para outro cliente. Dependendo da forma como o proxy trata os cookies, pode também enviar cookies de sessão para um cliente não intencional. A vulnerabilidade exige o cumprimento de determinadas condições:
- O proxy de cache sentado na frente da aplicação web Flask não retira cookies ou ignora respostas com cookies.
- A aplicação Web define o campo session.permanent como True.
- A aplicação Web não acede nem modifica a sessão em nenhum momento durante um pedido.
- SESSION_REFRESH_EACH_REQUEST está activado, que é a predefinição.
- A aplicação Web não define um cabeçalho Cache-Control para especificar que a página não deve ser colocada em cache.
- Se o proxy também colocar em cache os cabeçalhos Set-Cookie, também pode enviar o cookie de sessão de um cliente para um cliente não intencional.
Esta vulnerabilidade é causada pelo facto de as versões vulneráveis do Flask não definirem o cabeçalho Vary: Cookie quando a sessão é actualizada sem ser acedida ou modificada.
Mitigação
- Esta vulnerabilidade foi corrigida nas versões 2.2.5 e 2.3.2 do pacote Flask. Recomenda-se a actualização para estas versões.
Comentários