March 13th, 2023
In March 2022, Halborn was contracted to evaluate the Dogecoin open source codebase for any vulnerabilities that could affect the security of the blockchain.
During this assessment, several critical and exploitable vulnerabilities were identified by Halborn and have since been fixed by the Dogecoin team. However, after a broader review Halborn determined that the same vulnerabilities affected over 280 other networks including Litecoin and Zcash, putting over $25 billion dollars of digital assets at risk.
Halborn has code-named this vulnerability Rab13s.
The Halborn researchers, led by Senior Offensive Security Engineer Hossam Mohamed, found multiple vulnerabilities inside the open-source code for blockchain networks like Dogecoin, Litecoin and many others with similar codebase. The most critical vulnerability discovered is related to the peer-to-peer (p2p) communications, attackers can craft consensus messages and send it to individual nodes and taking them offline.
An attacker can crawl the network peers using getaddr message and attack the unpatched nodes.
While some of the other issues were known CVEs (Common Vulnerabilities and Exposures) from Bitcoin, another zero-day identified by Halborn was uniquely related to Dogecoin, including an RPC (Remote Procedure Call) Remote code execution vulnerability impacting individual miners.
Subsequently, variants of these zero-days were also discovered in similar blockchain networks, including Litecoin and Zcash. Due to codebase differences between the networks not all the vulnerabilities are exploitable on all the networks, but at least one of them may be exploitable on each network. On vulnerable networks, a successful exploitation of the relevant vulnerability could lead to denial of service or remote code execution.
A good faith effort has been made to contact the affected networks for a responsible disclosure. However, all affected networks are encouraged to contact Halborn on email@example.com.
The Rab13s vulnerabilities were found inside the p2p messaging mechanisms in affected networks, which, due to their simplicity, increase the likelihood of attack. With this vulnerability, an attacker can send crafted malicious consensus messages to individual nodes, causing each to shut down and eventually expose the network to risks like 51% attacks and other severe issues.
The second vulnerability in the RPC services allowed an attacker to crash the node via RPC requests. However, successful exploitation requires valid credentials, which reduces the likelihood of the entire network being at risk and since some nodes implements the stop command.
The third vulnerability allows attackers to execute code in the context of the user running the node through the public interface (RPC). However, the likelihood of this exploit is lower as it requires a valid credential to carry out the attack.
Halborn successfully developed an exploit kit for Rab13s that includes a proof of concept with configurable parameters in order to demonstrate the attacks on different networks.
All the necessary technical information has been shared with the identified stakeholders to help them remediate the bugs, and to release the necessary patches for the community and miners. Halborn did not share the Exploit-kit code with any party.
For projects using a UTXO-based node (eg. Dogecoin), we recommend upgrading all nodes to the latest version (1.14.6).
Halborn is not releasing further technical or exploit detail at this time due to the severity of the issues.
Keep an eye on our blog and follow us on Twitter (@HalbornSecurity) for the latest updates.