PT-2022-24876 · Unknown · Conduit-Hyper
Ori Hollander
·
Publicado
2022-10-30
·
Atualizado
2023-07-12
·
CVE-2022-39294
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 conduit-hyper anteriores à 0.4.2
Descrição
O problema surge porque o
conduit-hyper não verifica nenhum limite no comprimento de uma solicitação antes de chamar hyper::body::to bytes. Um invasor poderia enviar uma solicitação maliciosa com um Content-Length anormalmente grande, o que poderia levar a um panic caso a alocação de memória falhasse para essa solicitação. Na versão 0.4.2, o conduit-hyper define um limite interno de 128 MiB por solicitação; caso contrário, retorna o status 400 (“Bad Request”). Este crate faz parte da implementação do crates.io do Rust, mas esse serviço não é afetado devido à sua infraestrutura de nuvem existente, que já descarta tais solicitações maliciosas. Mesmo com o novo limite em vigor, o conduit-hyper não é recomendado para uso em produção, nem para atender diretamente a Internet pública.Recomendações
Para versões anteriores à 0.4.2, atualize para a versão 0.4.2 ou posterior para definir um limite interno de 128 MiB por solicitação e retornar o status 400 (“Bad Request”) para solicitações que excedam esse limite.
Como solução temporária, considere restringir o
Content-Length das solicitações recebidas para evitar possíveis problemas de alocação de memória até que um patch esteja disponível.Evite usar o
conduit-hyper em ambiente de produção ou para atender diretamente a Internet pública, mesmo com o novo limite em vigor.Exploit
Correção
Resource Exhaustion
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Conduit-Hyper