PT-2021-14395 · Unknown+1 · Http4S-Tomcat+5
Rossabaker
·
Publicado
2021-02-02
·
Atualizado
2022-10-25
·
CVE-2021-21293
CVSS v3.1
7.5
Alta
| Vetor | AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
**Nome do software vulnerável e versões afetadas:
versões do blaze-core anteriores à 0.14.15
versões do http4s-blaze-server anteriores à 0.21.17
Descrição:
O problema é causado pela aceitação ilimitada de conexões no blaze-core, levando ao esgotamento dos identificadores de arquivo. Isso pode agravar a degradação em serviços incapazes de lidar com a carga atual de solicitações, já que as conexões recebidas continuam sendo aceitas e adicionadas a uma fila ilimitada. Cada conexão aloca um identificador de soquete, o que esgota um recurso escasso do sistema operacional. Isso também pode confundir os circuit breakers de nível superior, que funcionam com base na detecção de conexões com falha. A grande maioria dos usuários afetados está utilizando o software como parte do http4s-blaze-server. O http4s fornece um mecanismo para limitar conexões abertas, mas ele é aplicado dentro do loop de aceitação do Blaze, após a conexão ser aceita e o soquete aberto.
Recomendações:
Para versões do blaze-core anteriores à 0.14.15, atualize para a versão 0.14.15 ou posterior, que inclui um parâmetro
maxConnections para limitar conexões simultâneas.Para versões do http4s-blaze-server anteriores à 0.21.17, considere usar um side-car do Nginx como proxy reverso para aplicar a semântica de limitação de conexões antes que os sockets cheguem ao blaze-core, ou use servidores alternativos, como http4s-ember-server, http4s-jetty ou http4s-tomcat.
Como solução temporária, considere definir um número negativo para o parâmetro
maxConnections para executar sem limites, mas isso não é recomendado.Correção
Allocation of Resources Without Limits
Resource Exhaustion
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Nginx
Blaze-Core
Http4S-Blaze-Server
Http4S-Ember-Server
Http4S-Jetty
Http4S-Tomcat