Litecoin Network Recovers from Denial-of-Service Attack and 13-Block Rewrite
Late Friday and Saturday, a series of events unfolded on the Litecoin network, starting with a 13-block chain reorganization at $55.10, effectively rewinding 32 minutes of network activity. This was in response to a denial-of-service attack that exploited a vulnerability in the Mimblewimble Extension Block (MWEB) protocol, allowing invalid transactions to be processed by nodes that had not been updated. The Litecoin Core v0.21.5.4 release was subsequently announced, advising all users to upgrade due to important security updates. According to the Litecoin Foundation, the bug was fully patched, and the network returned to normal operation by Sunday morning. However, security researchers, including bbsz from the SEAL911 emergency response group, pointed out discrepancies in the timeline based on the litecoin-project GitHub repository. The repository showed 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 April 25, with both fixes being rolled into the release 0.21.5.4 after the attack had begun. 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 privately a month before the exploit, though the fix had not been publicly broadcast or required for all mining pools. This created a window of opportunity for 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, in a thread discussing parallel issues. Blockchain data revealed that the attacker had pre-funded a wallet 38 hours before the exploit, using a Binance withdrawal, with the destination address already set to swap LTC for ETH on a decentralized exchange. The denial-of-service attack and the MWEB bug were seen as separate components, with the DoS designed to take patched mining nodes offline, allowing the unpatched ones to form a chain that included the invalid transactions. The network's automatic handling of the 13-block reorganization once the DoS stopped suggested that enough hashrate was running updated code to eventually overpower the attack, though only after the unpatched fork had run for 32 minutes. This incident highlights the differences in how attacks on various networks are handled, depending on the maintainers' and developers' reactions to exploits. Newer chains with smaller, more centralized validator sets can coordinate upgrades quickly, while older proof-of-work networks like Litecoin and Bitcoin rely on independent mining pools choosing when to upgrade, creating a potential window of vulnerability. As of Sunday morning, the Litecoin Foundation had not publicly addressed the GitHub timeline, and the amount of LTC pegged out during the invalid block window, along with the value of any swaps completed before the reorganization, remained undisclosed.