PT-2026-43454 · Carrierwave+5 · Carrierwave+1
CVSS v3.1
6.1
Média
| Vetor | AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Nome do Software Vulnerável e Versões Afetadas
CarrierWave versões anteriores a 2.2.7
CarrierWave versões anteriores a 3.1.3
Description
CarrierWave é um framework utilizado para upload de arquivos em aplicações Ruby. A verificação
content type denylist falha ao escapar metacaracteres de regex em entradas de string, fazendo com que a denylist não corresponda silenciosamente aos tipos de conteúdo que deveria bloquear. Na função denylisted content type(), as entradas da denylist são interpoladas diretamente em uma expressão regular sem o uso de Regexp.quote ou ancoragem. Por exemplo, uma entrada como image/svg+xml é tratada como um padrão onde o caractere + é interpretado como um quantificador em vez de um caractere literal, impedindo a correspondência com o tipo MIME real. Outros tipos de conteúdo que contêm metacaracteres de regex, como application/xhtml+xml, também são afetados. Isso permite que um invasor faça o upload de arquivos, como arquivos SVG contendo JavaScript arbitrário, o que pode levar a Cross-Site Scripting (XSS) armazenado se a aplicação servir o arquivo inline a partir de sua própria origem.Recommendations
Atualize para a versão 2.2.7 para usuários no branch 2.x.
Atualize para a versão 3.1.3 para usuários no branch 3.x.
Como medida paliativa temporária, restrinja o uso do recurso
content type denylist até que o software seja atualizado.Exploit
Correção
XSS
Incomplete List of Disallowed Inputs
Improper Encoding or Escaping of Output
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Carrierwave
Ruby-Carrierwave