- A Komodo developer has discovered a critical bug in the source code of Zcash (ZEC).
- This could potentially endanger the geodata of each shielded address (zaddr), along with the data of the associated full node.
Duke Leto, a core developer of the Komodo (KMD) project, has discovered a very critical bug within the source code of Zcash (ZEC). In a blog post, Leto revealed a bug that allows attackers to obtain geodata from full nodes along with shielded addresses under certain circumstances. The bug in Zcash’s source code is said to have existed since ZEC was introduced, which means that all Zcash forks are also affected.
Since the geolocation data is linked to the user’s IP address and thus to zaddr, the geodata of each shielded address (zaddr), along with its associated node, is potentially at risk. For example, if “A” transmits a zaddr to “B” to pay for it, “B” could determine the IP address and thus the geodata from “A”. This fundamentally violates the anonymous design of privacy coins such as Zcash or Monero (XMR). In the blog post Leto writes preliminarily:
A bug has existed for all shielded addresses since the inception of Zcash and Zcash Protocol. It is present in all Zcash source code forks. It is possible to find the IP address of full nodes who own a shielded address (zaddr). That is, Alice giving Bob a zaddr to be paid, could actually allow Bob to discover Alice’s IP address. This is drastically against the design of Zcash Protocol.
According to Leto, all people who use zaddr and have shared zaddr with third parties are affected. This is the case, for example, if the zaddr has been publicly shared on social media, in a bug report on GitHub, or if the user has ever given the zaddr to an exchange or mining pool. Users, on the other hand, are not affected by the bug if they have never used a zaddr or have only sent a ZEC to others, but have not received ZEC. Also, users are not affected if they have used Tor or Tails.
Leto writes that a CVE (Common Vulnerabilities and Exposures) code is already in progress to track the problem. Leto has also created a list of cryptocurrencies, forks by Zcash, that face a similar problem. The list includes ZClassic, Safecoin, Horizen, BitcoinZ, LitecoinZ, Bitcoin Private and Anon, among others. Leto also points out that Komodo deactivated the function of shielded addresses a long time ago and is therefore not affected.
What can Zcash users do?
Leto writes that the easiest way to prevent the metadata leak is to use Tor. Also, Zcash users can create a new wallet.dat with a new zaddr and then send all funds to that new address. If a user keeps the new zaddr private, it is protected from the metadata leak.