fix(sdk-core): enforce recipient verification in ECDSA TSS signing#8924
Conversation
8959f9d to
8c93794
Compare
23705bd to
1f45916
Compare
1f45916 to
bc97127
Compare
94e9421 to
9515b8e
Compare
9515b8e to
f76907a
Compare
Review summaryThis routes both ECDSA TSS signing paths through a single Context: this is the third attemptThe same fix has merged and been reverted twice (#8462 → reverted by #8538; #8539 → reverted by #8665). Both reverts were caused by being too strict and throwing on legitimate recipient-less transactions:
This PR's Blocking concerns1. The 2. Pending-approval recipient threading was dropped vs. the prior attempts. 3. Lower-priority notes
Strengths
RecommendationWorth resolving (1) and (2) before merge — given two prior production reverts, the key questions are whether the opt-out leaves the main path protected, and whether the pending-approval path still resolves recipients. (3) is a one-line safeguard. The core logic is solid; the remaining risk is in completeness and in whether the opt-out hollows out the protection. |
The two layers do different things:
The flag was backup against the exemption set being incomplete (Layer 1 throws on unknown no-recipient types).
The intent (including recipients) is persisted server-side at |
zahin-mohammad
left a comment
There was a problem hiding this comment.
per the huddle, needs a few more changes (removing the opt out bool)
1f2c3e1 to
b42da9e
Compare
zahin-mohammad
left a comment
There was a problem hiding this comment.
lgtm... but please keep a close eye on this for the beta release and the ui release
8a3abcc
b42da9e to
8a3abcc
Compare
8a3abcc to
3e14d3a
Compare
Summary
Closes the ECDSA TSS default-path signing vulnerability (WCN-151 Phase 3)
where a compromised BitGo API server could swap
signableHexundetected.The Vulnerability
Both
EcdsaUtilsandEcdsaMPCv2UtilsdefaultedtxParamswhen absent: