CVE-2023-36199

7.5 HIGH

📋 TL;DR

This vulnerability in skalenetwork sgxwallet allows attackers to cause denial of service through the trustedGenerateEcdsaKey component. It affects all users running sgxwallet version 1.9.0 and earlier. The attack disrupts key generation functionality, potentially preventing legitimate operations.

💻 Affected Systems

Products:
  • skalenetwork sgxwallet
Versions: v1.9.0 and all earlier versions
Operating Systems: Linux (SGX-compatible systems)
Default Config Vulnerable: ⚠️ Yes
Notes: Requires SGX-enabled hardware. The vulnerability is in the trusted execution environment component.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service disruption preventing all key generation operations, potentially affecting blockchain transaction processing and wallet functionality.

🟠

Likely Case

Intermittent service degradation where key generation requests fail, causing transaction delays and user frustration.

🟢

If Mitigated

Minimal impact with proper monitoring and rapid response to service interruptions.

🌐 Internet-Facing: MEDIUM - Requires access to the trustedGenerateEcdsaKey endpoint, which may be exposed in some deployments.
🏢 Internal Only: MEDIUM - Internal attackers or compromised systems could exploit this to disrupt operations.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires access to the trustedGenerateEcdsaKey API endpoint. The GitHub issue suggests the vulnerability is related to improper input validation.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version after v1.9.0 (check latest release)

Vendor Advisory: https://github.com/skalenetwork/sgxwallet/issues/419

Restart Required: Yes

Instructions:

1. Check current sgxwallet version. 2. Update to the latest version from the official repository. 3. Restart the sgxwallet service. 4. Verify the update was successful.

🔧 Temporary Workarounds

Restrict API Access

linux

Limit access to the trustedGenerateEcdsaKey endpoint to trusted sources only

# Configure firewall rules to restrict access to sgxwallet API port
# Example: iptables -A INPUT -p tcp --dport [API_PORT] -s [TRUSTED_IP] -j ACCEPT
# iptables -A INPUT -p tcp --dport [API_PORT] -j DROP

Implement Rate Limiting

linux

Add rate limiting to the trustedGenerateEcdsaKey endpoint to prevent DoS attacks

# Use nginx or similar proxy with rate limiting
# Example nginx config: limit_req_zone $binary_remote_addr zone=api:10m rate=10r/s;
limit_req zone=api burst=20 nodelay;

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate sgxwallet from untrusted networks
  • Deploy additional monitoring and alerting for failed key generation attempts

🔍 How to Verify

Check if Vulnerable:

Check sgxwallet version. If version is 1.9.0 or earlier, the system is vulnerable.

Check Version:

sgxwallet --version or check the version in the application configuration/logs

Verify Fix Applied:

Verify sgxwallet version is greater than 1.9.0 and test key generation functionality.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed key generation requests
  • Service restart events
  • Error messages related to trustedGenerateEcdsaKey

Network Indicators:

  • Unusual traffic patterns to the sgxwallet API port
  • High volume of requests to the key generation endpoint

SIEM Query:

source="sgxwallet.log" AND ("trustedGenerateEcdsaKey" AND "error" OR "failed")

🔗 References

📤 Share & Export