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

VetorAV: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 👾

Enumeração de Fraquezas

Identificadores relacionados

CVE-2022-39294
GHSA-9398-5GHF-7PR6
RUSTSEC-2022-0066

Produtos afetados

Conduit-Hyper