CVE-2023-33241

9.6 CRITICAL

📋 TL;DR

This vulnerability affects cryptocurrency wallets implementing GG18 or GG20 threshold signature schemes (TSS). An attacker can extract the full ECDSA private key by injecting a malicious Paillier key and cheating in range proofs, potentially requiring only 16 signatures to compromise the wallet. This impacts any system using vulnerable TSS implementations for multi-party computation.

💻 Affected Systems

Products:
  • Cryptocurrency wallets implementing GG18 or GG20 TSS protocols
Versions: All versions prior to patching
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability depends on specific Beta parameter choices in implementation; some configurations may require more signatures for successful exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete theft of all cryptocurrency assets secured by vulnerable wallets, with irreversible loss of funds and potential compromise of associated accounts.

🟠

Likely Case

Targeted attacks against high-value cryptocurrency wallets, leading to significant financial losses for individuals and organizations using vulnerable implementations.

🟢

If Mitigated

Limited impact if proper key rotation and monitoring are implemented, though some exposure remains until patching.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires participation in the TSS protocol as one of the parties, making it unsuitable for mass scanning but effective for targeted attacks.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Varies by implementation; check specific vendor updates

Vendor Advisory: https://www.fireblocks.com/blog/gg18-and-gg20-paillier-key-vulnerability-technical-report/

Restart Required: No

Instructions:

1. Identify all systems using GG18/GG20 TSS implementations. 2. Update to patched versions from vendors. 3. Implement proper range proof verification. 4. Rotate all cryptographic keys. 5. Validate Paillier key generation.

🔧 Temporary Workarounds

Disable vulnerable TSS implementations

all

Temporarily disable GG18 and GG20 TSS protocols until patched

Implementation-specific; consult vendor documentation

Implement additional key validation

all

Add strict validation of Paillier keys and range proofs

Add cryptographic validation checks before accepting keys

🧯 If You Can't Patch

  • Implement strict monitoring for unusual signature patterns or key generation attempts
  • Isolate TSS operations to dedicated, air-gapped systems with limited network access

🔍 How to Verify

Check if Vulnerable:

Check if your cryptocurrency wallet or MPC solution uses GG18/GG20 TSS protocols and review implementation source code for proper range proof validation

Check Version:

Implementation-specific; consult vendor documentation for version checking commands

Verify Fix Applied:

Verify that updated implementations include proper Paillier key validation and range proof checks as described in security advisories

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed signature attempts
  • Unusual key generation patterns
  • Abnormal TSS protocol messages

Network Indicators:

  • Repeated TSS protocol sessions with same participants
  • Unusual network traffic patterns during key generation

SIEM Query:

Implementation-specific; monitor for patterns matching known exploit behavior from public PoCs

🔗 References

📤 Share & Export