CVE-2023-34458: mx-chain-go's relayed transactions always increment nonce
mx-chain-go is the official implementation of the MultiversX blockchain protocol, written in golang. When executing a relayed transaction, if the inner transaction failed, it would have increased the inner transaction's sender account nonce. This could have contributed to a limited DoS attack on a targeted account. The fix is a breaking change so a new flag RelayedNonceFixEnableEpoch was needed. This was a strict processing issue while validating blocks on a chain. This vulnerability has been patched in version 1.4.17.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
mx-chain-goto a version that resolves this vulnerability.Fixed in 1.4.17 - Configuration
Enable the new breaking-change flag `RelayedNonceFixEnableEpoch` so the patched relayed-nonce behavior is used.
mx-chain-go RelayedNonceFixEnableEpoch = (enable the new flag to activate the relayed-nonce fix; breaking change required) - Compensating control
Mitigate the limited DoS risk on targeted accounts during/after deployment of the relayed-nonce fix by applying appropriate network access controls (e.g., firewall/ACL/WAF/rate limiting) to limit relayed-transaction traffic to affected accounts.