PT-2021-4062 · Ruby · Action Pack

Jonathan Hefner

·

Publicado

2021-05-01

·

Atualizado

2021-10-21

·

CVE-2021-22903

CVSS v3.1

6.1

Média

VetorAV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Nome do software vulnerável e versões afetadas
Versões da gem Action Pack Ruby anteriores à 6.1.3.2
Descrição
O problema está relacionado à conversão de strings no arquivo config.hosts em expressões regulares sem o escape adequado, o que pode levar a uma vulnerabilidade de redirecionamento aberto. Cabeçalhos Host especialmente criados, em combinação com determinados formatos de “host permitido”, podem fazer com que o middleware de autorização de host no Action Pack redirecione usuários para um site malicioso. Por exemplo, se o config.hosts incluir uma string como “sub.example.com” sem um ponto à esquerda, isso pode permitir uma solicitação com um valor de cabeçalho Host de “sub-example.com”. Essa vulnerabilidade é semelhante a um problema conhecido anteriormente.
Recomendações
Para resolver o problema, atualize a gem ActionPack Ruby para a versão 6.1.3.2 ou posterior.
Para versões anteriores à 6.1.3.2, um patch temporário pode ser aplicado como solução alternativa, adicionando o seguinte código a um inicializador:
ruby

class ActionDispatch::HostAuthorization::Permissions

 def sanitize string(host)

  if host.start with?(“.”)

   /A(.+.)?#{Regexp.escape(host[1..-1])}z/i

  else

   /A#{Regexp.escape host}z/i

  end

 end

end
Também há patches disponíveis para a série 6.1.

Exploit

Correção

Open Redirect

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

BDU:2021-04602
CVE-2021-22903
GHSA-5HQ2-XF89-9JXQ

Produtos afetados

Action Pack