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.
size%8 == 0 && size >= 0 yourself before calling NewBitfield or FromBytes{
"cwe_ids": [
"CWE-1284",
"CWE-754"
],
"github_reviewed": true,
"github_reviewed_at": "2023-02-10T19:52:45Z",
"severity": "MODERATE",
"nvd_published_at": "2023-02-09T21:15:00Z"
}