From c9519c260b7a13d2a8104ff9842205655aa65ace Mon Sep 17 00:00:00 2001 From: Fabian Jahr Date: Thu, 16 Oct 2025 01:53:51 +0200 Subject: [PATCH] musig: Check session id reuse Prevent saving another secnonce to the same session id since this might make nonce reuse possible. --- src/script/signingprovider.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/script/signingprovider.cpp b/src/script/signingprovider.cpp index 8557eb772c8..8b1c2563dbd 100644 --- a/src/script/signingprovider.cpp +++ b/src/script/signingprovider.cpp @@ -122,7 +122,9 @@ std::map> FlatSigningProvider::GetAllMuSig2Partici void FlatSigningProvider::SetMuSig2SecNonce(const uint256& session_id, MuSig2SecNonce&& nonce) const { if (!Assume(musig2_secnonces)) return; - musig2_secnonces->emplace(session_id, std::move(nonce)); + auto [it, inserted] = musig2_secnonces->try_emplace(session_id, std::move(nonce)); + // No secnonce should exist for this session yet. + Assert(inserted); } std::optional> FlatSigningProvider::GetMuSig2SecNonce(const uint256& session_id) const