Ruby · Action Pack · CVE-2021-22903
**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.