Late Friday and Saturday, a series of 13 blocks were rewritten on the Litecoin network, effectively reversing approximately 32 minutes of network activity. This move was made necessary by an attack that leveraged a vulnerability within the Mimblewimble Extension Block (MWEB) protocol, allowing for the execution of invalid transactions that were later corrected by the network's longest valid chain.
The attack, facilitated by a bug, enabled a denial-of-service against major mining pools, permitting invalid MWEB transactions to bypass nodes that had not been updated. In response, Litecoin Core version 0.21.5.4 was released, and all users were advised to upgrade due to the inclusion of critical security updates. According to the Litecoin Foundation, the bug was fully patched, and the network resumed normal operations by Sunday morning. However, security researchers have pointed out discrepancies in the timeline of events, as indicated by the litecoin-project GitHub repository.
This repository shows that the consensus vulnerability was privately patched between March 19 and 26, more than four weeks before the attack occurred. Furthermore, a separate denial-of-service vulnerability was patched on the morning of April 25, with both fixes being incorporated into the release 0.21.5.4 on the same afternoon, after the attack had commenced. The term 'zero-day' refers to a vulnerability that is unknown to defenders at the time of an attack, but in this case, the consensus vulnerability was known and patched a month prior to the exploit. The fact that the fix had not been publicly broadcast or mandated for all mining pools created a window of opportunity for the attackers, who seemed to be aware of which miners were running the patched code and which were still vulnerable.
Concerns were raised by Alex Shevchenko, CTO of NEAR Foundation's Aurora project, who highlighted the exploit's sophistication, including the pre-funding of a wallet 38 hours before the attack and the configuration to swap LTC for ETH on a decentralized exchange. Shevchenko argued that the denial-of-service attack and the MWEB bug were separate components, with the former designed to take patched mining nodes offline, allowing the unpatched ones to form a chain that included the invalid transactions. The automatic handling of the 13-block reorganization by the network once the DoS stopped suggests that enough hashrate was running updated code to eventually overpower the attack.
This incident highlights the differences in how various networks respond to exploits, with newer chains capable of coordinating upgrades quickly and older proof-of-work networks like Litecoin and Bitcoin facing challenges due to their reliance on independent mining pools for upgrades. As of Sunday morning, the Litecoin Foundation had not publicly addressed the GitHub timeline, and details regarding the amount of LTC pegged out during the invalid block window and the value of any swaps completed before the reorganization remain undisclosed.