---
id: CVE-2023-23626
aliases:
  - GHSA-2h6c-j3gf-xp9r
  - GO-2023-1558
title: IPFS go-bitfield vulnerable to DoS via malformed size arguments
summary: IPFS go-bitfield vulnerable to DoS via malformed size arguments
severity: medium
cvss: 5.9
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H'
vendor: ipfs
product: github.com/ipfs/go-bitfield
ecosystem: go
affected:
  - github.com/ipfs/go-bitfield < 1.1.0
patched:
  - github.com/ipfs/go-bitfield 1.1.0
published: '2023-02-10'
updated: '2026-09-10'
sourceUpdated: '2026-09-10T03:49:51.750951929Z'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-2h6c-j3gf-xp9r'
references:
  - url: >-
      https://github.com/ipfs/go-bitfield/security/advisories/GHSA-2h6c-j3gf-xp9r
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2023-23626'
  - url: >-
      https://github.com/ipfs/go-bitfield/commit/5e1d256fe043fc4163343ccca83862c69c52e579
  - url: 'https://github.com/ipfs/go-bitfield'
  - url: 'https://pkg.go.dev/vuln/GO-2023-1558'
tags:
  - osv
  - go
epss: 0.0091
epssPercentile: 0.5824
ingestedAt: '2026-09-12T03:13:01.745Z'
---

## Overview

### Impact
When feeding untrusted user input into the size parameter of `NewBitfield` and `FromBytes` functions, an attacker can trigger `panic`s.

This happen when the `size` is a not a multiple of `8` or is negative.
There were already a note in the `NewBitfield` documentation:
> ```
> Panics if size is not a multiple of 8.
> ````

But it incomplete and missing from `FromBytes`'s documentation.

This has been replaced by returning an `(Bitfield, error)` and returning a non nil error if the size is wrong.

### Patches
- https://github.com/ipfs/go-bitfield/commit/5e1d256fe043fc4163343ccca83862c69c52e579

### Workarounds
- Ensure `size%8 == 0 && size >= 0` yourself before calling `NewBitfield` or `FromBytes`

### References
- https://github.com/ipfs/go-unixfs/security/advisories/GHSA-q264-w97q-q778


## Affected packages

- `github.com/ipfs/go-bitfield < 1.1.0`

## Remediation

Upgrade to a patched release:

- `github.com/ipfs/go-bitfield 1.1.0`
