IPFS go-bitfield vulnerable to DoS via malformed size arguments
Description
Published by the National Vulnerability Database
Feb 9, 2023
Published to the GitHub Advisory Database
Feb 10, 2023
Reviewed
Feb 10, 2023
Last updated
Jun 13, 2023
Impact
When feeding untrusted user input into the size parameter of
NewBitfieldandFromBytesfunctions, an attacker can triggerpanics.This happen when the
sizeis a not a multiple of8or is negative.There were already a note in the
NewBitfielddocumentation: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
size%8 == 0 && size >= 0yourself before callingNewBitfieldorFromBytesReferences
References