Skip to main content
VulnerabilityPublished

CVE-2026-73568: py-libp2p · Uncontrolled Resource Consumption

Affects py-libp2pSource CVE Database V5

0
Compare

Not known to be exploited · CVSS 7.5 High : upgrade to 0.7.1 soon.

Data as of 11 Nov 2026, 23:24 UTC

CVSS 3.1 base score
7.5High
How severe the flaw is on the 0–10 CVSS scale.
EPSS
0.4% chance of exploitation in 30 days – higher than 42% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Patch
Available – fixed in 0.7.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Exploitation evidence

  1. Disclosed: evidence found.

    CVE published 13 Aug 2026

  2. Detectable: no evidence on record.

    No public nuclei template indexed

  3. Weaponized: no evidence on record.

    No public exploit code indexed in Metasploit or Exploit-DB

  4. Exploited in the wild: no evidence on record.

    Not in CISA KEV and no source reports exploitation

  5. Observed by OffSeq Mirage: no evidence on record.

    No attack traffic recorded by OffSeq Mirage sensors

A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 11 Nov 2026.

What to do

Upgrade py-libp2p to 0.7.1.

Affected software

ProductAffectedFixed in
libp2ppy-libp2pAffected
  • <=0.7.0
Fixed in–
PyPIpy-libp2ppkg:pypi/py-libp2pOther threatsAffected
  • <0.7.1
Fixed in
  • 0.7.1

Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.

AI-suggested

If you cannot patch yet, consider limiting exposure to untrusted peers or implementing network-level controls to detect and block malformed frames.

Description

py-libp2p is the Python implementation of the libp2p networking stack. In 0.7.0 and earlier, the yamux handle_incoming() method in libp2p/stream_muxer/yamux/yamux.py reads an attacker-controlled 32-bit DATA frame length with read_exactly() before validating it against MAX_WINDOW_SIZE or checking whether stream_id exists. A peer that completes the standard Noise handshake can send a 12-byte frame declaring a 0xFFFFFFFF body and then withhold the body, causing the sequential yamux read loop used by the default new_host() configuration to block and preventing every stream on that connection from making progress.

References

Community reviews

Loading reviews…