Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-v5hw-cv9c-rpg7

Опубликовано: 04 апр. 2026
Источник: github
Github: Прошло ревью
CVSS3: 8.2

Описание

libp2p-rendezvous: Unbounded rendezvous DISCOVER cookies enable remote memory exhaustion

Summary

The rendezvous server stores pagination cookies without bounds. An unauthenticated peer can repeatedly issue DISCOVER requests and force unbounded memory growth.

Details

Pagination state is stored in:

HashMap<Cookie, HashSet<RegistrationId>>

On Message::Discover:

remote peer → DISCOVER → handle_request → registrations.get(...) → new cookie generated → cookie inserted into Registrations::cookies

There is no upper bound or eviction policy, so repeated DISCOVER requests grow this map indefinitely.

PoC

A reproduction test and minimal harness will be provided in a private fork in a follow-up comment.

Impact

Remote state amplification leading to memory exhaustion.

Properties:

  • etwork reachable
  • no authentication required
  • low attack complexity
  • protocol-compliant traffic

Impacts rendezvous nodes exposed to untrusted peers.

Possible Fixes

  1. Global cap + eviction

Bound cookie storage (MAX_COOKIES_TRACKED) with FIFO/expiry aware eviction.
Tradeoff: attacker can churn cookies and evict legitimate pagination state.

  1. Stateless cookies

Encode pagination state in authenticated cookies instead of storing server-side state.
Tradeoff: more complex implementation.

  1. Rate limiting / per-peer quotas

Limit cookie creation per peer.
Tradeoff: requires peer tracking.

Пакеты

Наименование

libp2p-rendezvous

rust
Затронутые версииВерсия исправления

< 0.17.1

0.17.1

EPSS

Процентиль: 21%
0.00285
Низкий

8.2 High

CVSS3

Дефекты

CWE-770

Связанные уязвимости

CVSS3: 8.2
nvd
4 месяца назад

libp2p-rust is the official rust language Implementation of the libp2p networking stack. Prior to 0.17.1, the rendezvous server stores pagination cookies without bounds. An unauthenticated peer can repeatedly issue DISCOVER requests and force unbounded memory growth. This vulnerability is fixed in 0.17.1.

CVSS3: 8.2
fstec
4 месяца назад

Уязвимость сервера библиотеки libp2p-rust, позволяющая нарушителю вызвать отказ в обслуживании

EPSS

Процентиль: 21%
0.00285
Низкий

8.2 High

CVSS3

Дефекты

CWE-770