CVE-2023-33964
📋 TL;DR
A vulnerability in mx-chain-go (MultiversX blockchain implementation) allows invalid cross-shard transactions with incorrect usernames to cause the metachain to stop notarizing blocks from shard chains. This affects MultiversX blockchain operators running vulnerable versions, potentially halting blockchain operations until patched.
💻 Affected Systems
- mx-chain-go
📦 What is this software?
Mx Chain Go by Multiversx
⚠️ Risk & Real-World Impact
Worst Case
Metachain completely stops notarizing blocks from shard chains, halting blockchain operations and requiring manual intervention with patched binaries to resume functionality.
Likely Case
Processing error causes metachain to stop notarizing blocks, disrupting blockchain operations until administrators apply the patch and restart affected nodes.
If Mitigated
With proper monitoring and rapid patch deployment, minimal disruption occurs as administrators can quickly restore normal operations.
🎯 Exploit Status
Exploitation requires submitting invalid cross-shard transactions, which could be done by any network participant. No public exploit code is known.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.4.16
Vendor Advisory: https://github.com/multiversx/mx-chain-go/security/advisories/GHSA-7xpv-4pm9-xch2
Restart Required: Yes
Instructions:
1. Stop all mx-chain-go nodes. 2. Update to version 1.4.16 or later. 3. Restart nodes with patched binaries. 4. Monitor for normal notarization resumption.
🔧 Temporary Workarounds
No workarounds available
allThe vendor advisory states there are no known workarounds for this issue.
🧯 If You Can't Patch
- Implement strict transaction validation at network entry points to filter potentially malicious cross-shard transactions
- Increase monitoring for metachain notarization failures and prepare incident response procedures
🔍 How to Verify
Check if Vulnerable:
Check mx-chain-go version: if version < 1.4.16, system is vulnerable. Also monitor for metachain notarization failures.
Check Version:
./node --version or check binary/package version
Verify Fix Applied:
Confirm version is 1.4.16 or later and verify metachain is properly notarizing blocks from shard chains.
📡 Detection & Monitoring
Log Indicators:
- Metachain transaction processing errors
- Cross-shard transaction validation failures
- Notarization process interruptions
Network Indicators:
- Unusual cross-shard transaction patterns
- Metachain block notarization gaps
SIEM Query:
Search for 'metachain notarization stopped' or 'cross-shard transaction error' in blockchain node logs
🔗 References
- https://github.com/multiversx/mx-chain-go/commit/97295471465f4b5f79e51b32f8b7111f8d921606
- https://github.com/multiversx/mx-chain-go/security/advisories/GHSA-7xpv-4pm9-xch2
- https://github.com/multiversx/mx-chain-go/commit/97295471465f4b5f79e51b32f8b7111f8d921606
- https://github.com/multiversx/mx-chain-go/security/advisories/GHSA-7xpv-4pm9-xch2