Skip to main content
← All vulnerabilities
CVE-2023-25568GHSA-Q3J6-22WF-3JH9GHSA-M974-XJ4J-7QV5GO-2023-1766

Boxo bitswap/server: DOS unbounded persistent memory leak

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.12.0, 0.4.1, 0.6.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

Boxo, formerly known as go-libipfs, is a library for building IPFS applications and implementations. In versions 0.4.0 and 0.5.0, if an attacker is able allocate arbitrary many bytes in the Bitswap server, those allocations are lasting even if the connection is closed. This affects users accepting untrusted connections with the Bitswap server and also affects users using the old API stubs at `github.com/ipfs/go-libipfs/bitswap` because users then transitively import `github.com/ipfs/go-libipfs/bitswap/server`. Boxo versions 0.6.0 and 0.4.1 contain a patch for this issue. As a workaround, those who are using the stub object at `github.com/ipfs/go-libipfs/bitswap` not taking advantage of the features provided by the server can refactor their code to use the new split API that will allow them to run in a client only mode: `github.com/ipfs/go-libipfs/bitswap/client`.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • ipfs boxo

    0.4.0, 0.5.0

  • github.com/ipfs/go-bitswapGo

    fixed in 0.12.0

  • github.com/ipfs/go-libipfsGo

    fixed in 0.4.1; From 0.5.0 · fixed in 0.6.0

  • github.com/ipfs/go-libipfsGo

    From 0.5.0 · fixed in 0.6.0

  • github.com/ipfs/go-libipfsGo

    fixed in 0.4.1

References 4

GitHub · ipfs/boxo

GitHub · ipfs/go-libipfs