PT-2024-22687 · Amazon · Amazon S3
A-Zara-N
·
Publicado
2024-03-24
·
Atualizado
2025-11-07
·
CVE-2024-29034
CVSS v3.1
6.8
Média
| Vetor | AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:N/A:N |
Nome do software vulnerável e versões afetadas
Versões do CarrierWave anteriores à 2.2.6
Versões do CarrierWave anteriores à 3.0.7
Descrição
O problema é causado pelo fato de que, ao fazer upload para um armazenamento de objetos, incluindo o Amazon S3, é possível definir um valor de Content-Type que é interpretado pelos navegadores como diferente do permitido por
content type allowlist, fornecendo vários valores separados por vírgulas. Esse valor contornado pode ser usado para causar XSS.Recomendações
Para versões do CarrierWave anteriores à 2.2.6, atualize para a 2.2.6.
Para versões do CarrierWave anteriores à 3.0.7, atualize para a 3.0.7.
Como solução temporária, considere usar o patch de contingência fornecido para permitir que o CarrierWave analise o tipo de conteúdo usando
Marcel::MimeType.for.Para o CarrierWave 3.x, use o seguinte patch de contingência:
ruby
CarrierWave::SanitizedFile.class eval do
def declared content type
@declared content type ||
if @file.respond to?(:content type) && @file.content type
Marcel::MimeType.for(declared type: @file.content type.to s.chomp)
end
end
end
Para o CarrierWave 2.x, use o seguinte patch:
ruby
CarrierWave::SanitizedFile.class eval do
def existing content type
if @file.respond to?(:content type) && @file.content type
Marcel::MimeType.for(declared type: @file.content type.to s.chomp)
end
end
end
Exploit
Correção
XSS
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Amazon S3