fix(sdk-core): enforce recipient verification in ECDSA TSS signing#8924
fix(sdk-core): enforce recipient verification in ECDSA TSS signing#8924mrdanish26 wants to merge 1 commit into
Conversation
8959f9d to
8c93794
Compare
23705bd to
1f45916
Compare
1f45916 to
bc97127
Compare
94e9421 to
9515b8e
Compare
9515b8e to
f76907a
Compare
b87f004
f76907a to
b87f004
Compare
joeypinz
left a comment
There was a problem hiding this comment.
approved before conflicts resolved. code looks good after conflict resolved 👍
b87f004 to
b791a15
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)
b791a15 to
1f2c3e1
Compare
1f2c3e1 to
b42da9e
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: