{"answers":{"affected":"2 open source packages ship an affected version, including libp2p-gossipsub. It affects 1 product.","exploited":"There is no known exploitation of CVE-2026-34219 in the wild and no public exploit code.","fix":"Upgrade libp2p-gossipsub to 0.49.4 or later.","what":"CVE-2026-34219 is a high-severity vulnerability in rust-libp2p, published on 31 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2026-34219 and fix it if it is affected.\n\nWhat it is: CVE-2026-34219 is a high-severity vulnerability in rust-libp2p, published on 31 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of CVE-2026-34219 in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- libp2p-gossipsub (crates.io): affected all versions; fixed in 0.49.4\n- libp2p-gossipsub (crates.io): affected all versions; fixed in 0.49.4\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2026-34219/ (Markdown: https://insights.sbomify.com/CVE-2026-34219/index.md)","id":"CVE-2026-34219","markdown":"https://insights.sbomify.com/CVE-2026-34219/index.md","name":"CVE-2026-34219","record":{"aliases":["GHSA-xqmp-fxgv-xvq5"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"Rust libp2p library","requires_auth":"none","summary":"A remote attacker can cause a denial of service in the Rust libp2p Gossipsub implementation by sending a crafted PRUNE message that triggers an integer overflow panic.","user_interaction":"not_required","vuln_class":"integer_overflow"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"libp2p-gossipsub","vendor":"protocol"}],"cvss":{"score":8.2,"severity":"high","source":"cna","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","version":"4.0"},"cwes":[{"id":"CWE-617","name":"Reachable Assertion"},{"id":"CWE-190","name":"Integer Overflow or Wraparound"}],"description":"libp2p-rust is the official rust language Implementation of the libp2p networking stack. Prior to version 0.49.4, the Rust libp2p Gossipsub implementation contains a remotely reachable panic in backoff expiry handling. After a peer sends a crafted PRUNE control message with an attacker-controlled, near-maximum backoff value, the value is accepted and stored as an Instant near the representable upper bound. On a later heartbeat, the implementation performs unchecked Instant + Duration arithmetic (backoff_time + slack), which can overflow and panic with: overflow when adding duration to instant. This issue is reachable from any Gossipsub peer over normal TCP + Noise + mplex/yamux connectivity and requires no further authentication beyond becoming a protocol peer. This issue has been patched in version 0.49.4.","ecosystems":["crates.io"],"exploits":{"exploitdb":0,"first_seen":null,"github_poc":0,"max_poc_stars":null,"metasploit":0,"nuclei":0,"refs":[],"tier":"none_known"},"has_fix":true,"headline":"libp2p-gossipsub: Gossipsub PRUNE Backoff Heartbeat Instant Overflow","id":"CVE-2026-34219","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"crates.io","product":null,"products":[],"type":"integer_overflow","year":"2026"},"n_packages":2,"n_references":1,"next":{"headline":"MikroORM is vulnerable to SQL Injection via specially crafted object","id":"CVE-2026-34220"},"packages":[{"ecosystem":"crates.io","fixed":["0.49.4"],"introduced":["0"],"last_affected":[],"package":"libp2p-gossipsub","purl":null,"source":"GHSA-xqmp-fxgv-xvq5"},{"ecosystem":"crates.io","fixed":["0.49.4"],"introduced":["0"],"last_affected":[],"package":"libp2p-gossipsub","purl":"pkg:cargo/libp2p-gossipsub","source":"GHSA-xqmp-fxgv-xvq5"}],"prev":{"headline":"ClearanceKit: Managed and user-defined policy rules not enforced between opfilter start and first policy modification","id":"CVE-2026-34218"},"products":["rust-libp2p"],"published":"2026-03-31","related":[{"cvss_score":8.7,"headline":"libp2p-rust: Gossipsub PRUNE.backoff Duration Overflow","id":"CVE-2026-33040","kev_date_added":null,"published":"2026-03-20"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"}],"ssvc":{"automatable":"no","exploitation":"none","technical_impact":"partial"},"state":"PUBLISHED","updated":"2026-03-31","vendors":["libp2p"]},"summary":"A remote attacker can cause a denial of service in the Rust libp2p Gossipsub implementation by sending a crafted PRUNE message that triggers an integer overflow panic.","url":"https://insights.sbomify.com/CVE-2026-34219/"}