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

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2024-29034
GHSA-VFMV-JFC5-PJJW

Produtos afetados

Amazon S3