You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merge bitcoin/bitcoin#27997: Descriptors: rule out unspendable miniscript descriptors
c7db88a descriptor: assert we never parse a sane miniscript with no pubkey (Antoine Poinsot)
a49402a qa: make sure we don't let unspendable Miniscript descriptors be imported (Antoine Poinsot)
639e3b6 descriptor: refuse to parse unspendable miniscript descriptors (Antoine Poinsot)
e3280ea miniscript: make GetStackSize() and GetOps() return optionals (Antoine Poinsot)
Pull request description:
`IsSane()` in Miniscript does not ensure a Script is actually spendable. This is an issue as we would accept any sane Miniscript when parsing a descriptor. Fix this by explicitly checking a Miniscript descriptor is both sane and spendable when parsing it.
This bug was exposed due to a check added in #22838 (bitcoin/bitcoin#22838 (comment)) that triggered a fuzz crash (bitcoin/bitcoin#22838 (comment)).
ACKs for top commit:
sipa:
utACK c7db88a
achow101:
ACK c7db88a
Tree-SHA512: e79bc9f7842e98a4e8f358f05811fca51b15b4b80a171c0d2b17cf4bb1f578a18e4397bc2ece9817d392e0de0196ee6a054b7318441fd3566dd22e1f03eb64a5
0 commit comments