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
| 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
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
Produtos afetados
Action Pack