Lucene search

K
osvGoogleOSV:GHSA-2H6C-J3GF-XP9R
HistoryFeb 10, 2023 - 7:52 p.m.

IPFS go-bitfield vulnerable to DoS via malformed size arguments

2023-02-1019:52:45
Google
osv.dev
15
ipfs go-bitfield
denial of service
user input
panics
size parameter
documentation
error handling
patch
workarounds
security advisory

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

0.001 Low

EPSS

Percentile

36.5%

Impact

When feeding untrusted user input into the size parameter of NewBitfield and FromBytes functions, an attacker can trigger panics.

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

Workarounds

  • Ensure size%8 == 0 && size >= 0 yourself before calling NewBitfield or FromBytes

References

CPENameOperatorVersion
github.com/ipfs/go-bitfieldlt1.1.0

7.5 High

CVSS3

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

0.001 Low

EPSS

Percentile

36.5%

Related for OSV:GHSA-2H6C-J3GF-XP9R