{"answers":{"affected":"2 open source packages ship an affected version, including github.com/ipfs/kubo.","exploited":"There is no known exploitation of GHSA-qvqg-6rp8-4p9h in the wild and no public exploit code.","fix":"Upgrade github.com/ipfs/kubo to 0.19.0 or later.","what":"GHSA-qvqg-6rp8-4p9h is a denial of service vulnerability in github.com/ipfs/kubo, published on 11 May 2023. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for GHSA-qvqg-6rp8-4p9h and fix it if it is affected.\n\nWhat it is: GHSA-qvqg-6rp8-4p9h is a denial of service vulnerability in github.com/ipfs/kubo, published on 11 May 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: There is no known exploitation of GHSA-qvqg-6rp8-4p9h in the wild and no public exploit code.\n\nAffected packages and fixed versions:\n- github.com/ipfs/kubo (Go): affected all versions; fixed in 0.19.0\n- github.com/ipfs/kubo (Go): affected all versions; fixed in 0.19.0\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/GHSA-qvqg-6rp8-4p9h/ (Markdown: https://insights.sbomify.com/GHSA-qvqg-6rp8-4p9h/index.md)","id":"GHSA-qvqg-6rp8-4p9h","markdown":"https://insights.sbomify.com/GHSA-qvqg-6rp8-4p9h/index.md","name":"GHSA-qvqg-6rp8-4p9h","record":{"aliases":[],"analysis":{"component_type":"server_software","fix_type":"patch","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"IPFS node software","requires_auth":"none","summary":"An attacker can cause a denial of service in IPFS Kubo nodes by sending excessive Bitswap requests that exhaust memory.","user_interaction":"not_required","vuln_class":"denial_of_service"},"analysis_generated_by":"qwen3.8-flash-next","assigner":null,"cpe":[],"cvss":{"score":null,"severity":null,"source":null,"vector":null,"version":null},"cwes":[],"description":"### Impact\nAn attacker is able allocate arbitrarily many bytes in the Bitswap server by sending many `WANT_BLOCK` and or `WANT_HAVE` requests which are queued in an unbounded queue, with allocations that persist even if the connection is closed.\n\nThis affects users accepting or connecting untrusted connections such as by running in the public swarm and no pnet config.\nNodes that are not publicly reachable but connects to untrusted nodes are also vulnerable to the untrusted nodes being connected to since libp2p connections are blindly bidirectional.\n\n### Patches\n- 19feb15833c6f4d6e7f1e1b132efaae96d76481d [`boxo`](https://github.com/ipfs/boxo) update in Kubo\n- GHSA-m974-xj4j-7qv5 patches in boxo\n\n### Workarounds\n\nUse [PNET](https://github.com/ipfs/kubo/blob/master/docs/experimental-features.md#private-networks), [swarm filters](https://github.com/ipfs/kubo/blob/master/docs/config.md#swarmaddrfilters) or [resource manager allows list](https://pkg.go.dev/github.com/libp2p/go-libp2p/p2p/host/resource-manager#readme-allowlisting-multiaddrs-to-mitigate-eclipse-attacks) to block untrusted connections.\n\nNote that using the resource manager will disrupt both client and server features because the bitswap protocol is a message based protocol mixing requests and responses.\n\n### References\n- GHSA-m974-xj4j-7qv5\n- [CVE-2023-25568](https://nvd.nist.gov/vuln/detail/CVE-2023-25568)","ecosystems":["Go"],"exploits":{"exploitdb":null,"first_seen":null,"github_poc":null,"max_poc_stars":null,"metasploit":null,"nuclei":null,"refs":[],"tier":null},"has_fix":true,"headline":"github.com/ipfs/kubo affected by DOS Bitswap unbounded persistent memory leak","id":"GHSA-qvqg-6rp8-4p9h","indexable":true,"kev":null,"kind":"advisory","links":{"ecosystem":"Go","product":null,"products":[],"type":"denial_of_service","year":"2023"},"n_packages":2,"n_references":null,"packages":[{"ecosystem":"Go","fixed":["0.19.0"],"introduced":["0"],"last_affected":[],"package":"github.com/ipfs/kubo","purl":null,"source":"GHSA-qvqg-6rp8-4p9h"},{"ecosystem":"Go","fixed":["0.19.0"],"introduced":["0"],"last_affected":[],"package":"github.com/ipfs/kubo","purl":"pkg:golang/github.com/ipfs/kubo","source":"GHSA-qvqg-6rp8-4p9h"}],"products":null,"published":"2023-05-11","related":[],"sources":[{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"}],"ssvc":{"automatable":null,"exploitation":null,"technical_impact":null},"state":null,"updated":null,"vendors":null},"summary":"An attacker can cause a denial of service in IPFS Kubo nodes by sending excessive Bitswap requests that exhaust memory.","url":"https://insights.sbomify.com/GHSA-qvqg-6rp8-4p9h/"}