Silentsobs

#21481de 53,632
11.3CVSS total
Vulnerabilidades · 2
Baixa
1
Alta
1
PT-2026-30324
7.8
2026-04-02
Unknown · Libp2P-Rendezvous · CVE-2026-35405
Nome do Software Vulnerável e Versões Afetadas libp2p-rendezvous versões anteriores a 0.56.1 Descrição O servidor `libp2p-rendezvous` está suscetível a uma condição de Negação de Serviço (DoS) por Esgotamento de Memória (OOM). O servidor não limita o número de namespaces que um único peer pode registrar. Um peer malicioso pode registrar repetidamente namespaces exclusivos, fazendo com que o servidor aloque memória para cada registro sem restrição. Isso pode levar o servidor a falhar devido ao consumo excessivo de memória. A vulnerabilidade reside na função `Registrations::add()` dentro de `protocols/rendezvous/src/server.rs`. O servidor armazena registros em um BiMap chaveado em `(PeerId, Namespace)`, um HashMap e um heap FuturesUnordered. As strings de namespace são validadas para comprimento, mas não para contagem. Não há um limite `max registrations per peer` na configuração. Os registros persistem por até 72 horas e a desconexão de um peer não remove as entradas. Uma prova de conceito (PoC) demonstra que um único peer pode registrar 10.000 namespaces exclusivos e escalar este ataque com vários peers sybil pode rapidamente esgotar a memória do servidor. Qualquer nó executando `libp2p-rendezvous` no lado do servidor é afetado, potencialmente interrompendo a descoberta de peers para clientes que dependem do servidor. Recomendações Atualize para uma versão do `libp2p-rendezvous` que inclua uma correção para esta vulnerabilidade. Implemente um limite `max registrations per peer` no `Config` e aplique-o dentro da função `Registrations::add()` antes de inserir novos registros.