GitHub Advisoryadvisory · Go

GHSA-2h6c-j3gf-xp9r IPFS go-bitfield vulnerable to DoS via malformed size arguments

MEDIUM Published 2023-02-10 Modified 2023-02-10 Official page ↗
Aliases
CVE-2023-23626
Ecosystem
Go
Packages
github.com/ipfs/go-bitfield
Severity
Moderate
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-1284, CWE-754
Reviewed
2023-02-10

Affected packages

• Go github.com/ipfs/go-bitfield: < 1.1.0 → fixed in 1.1.0

Description

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

Related

Alias · CVE (1)

  • CVE-2023-23626 go-bitfield is a simple bitfield package for the go language aiming to be more performant that the standard library. vulnerability

Weakness · CWE (2)

  • CWE-1284 Improper Validation of Specified Quantity in Input weakness
  • CWE-754 Improper Check for Unusual or Exceptional Conditions weakness

References