CVE-2023-25568 json
Boxo bitswap/server: DOS unbounded persistent memory leak
published 2023-05-10 3 y ago modified 2026-09-10 1 mo ago also GHSA-m974-xj4j-7qv5 , GHSA-q3j6-22wf-3jh9 , GO-2023-1766 , EUVD-2023-1578
- cvss
- 8.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.9%
- EPSS 0.9% chance of exploitation in 30 days, percentile 58%
- public exploits
- 0
- none known
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`.
Patch / fix
- go github.com/ipfs/go-libipfs 0.4.1, 0.6.0
- go github.com/ipfs/go-bitswap 0.12.0
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 21 mo ago
Exploit prediction
0.86% chance of exploitation in the next 30 days, higher than 58% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 8.2 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/ipfs/go-libipfs | >=0.5.0, <0.6.0 <0.4.1 |
0.6.0 0.4.1 |
| go | github.com/ipfs/go-bitswap | <0.12.0 |
0.12.0 |
Affected products
- ipfs boxo
Classification
References
-
github.com
/ipfs/boxo/commit/62cbac40b96f49e39cd7fedc77ee6b56adce4916
web, patch
-
github.com
/ipfs/boxo/commit/9cb5cb54d40b57084d1221ba83b9e6bb3fcc3197
web, patch
-
github.com
/ipfs/boxo/commit/baa748b682fabb21a4c1f7628a8af348d4645974
web, patch
-
github.com
/ipfs/go-libipfs/security/advisories/GHSA-m974-xj4j-7qv5
web, mitigation, patch, vendor-advisory, advisory
-
github.com
/ipfs/boxo/security/advisories/GHSA-m974-xj4j-7qv5
web
-
nvd.nist.gov
/vuln/detail/CVE-2023-25568
advisory
-
github.com
/ipfs/boxo
package
-
github.com
/ipfs/go-bitswap/security/advisories/GHSA-q3j6-22wf-3jh9
web
-
github.com
/ipfs/go-bitswap
package
Sources
- CVE List CVE-2023-25568
- GitHub Advisory GHSA-m974-xj4j-7qv5
- GitHub Advisory GHSA-q3j6-22wf-3jh9
- NVD CVE-2023-25568
- OSV GO-2023-1766
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.