Article Details
Scrape Timestamp (UTC): 2024-12-04 17:34:16.446
Original Article Text
Click to Toggle View
Solana Web3.js library backdoored to steal secret, private keys. The legitimate Solana JavaScript SDK was temporarily compromised yesterday in a supply chain attack, with the library backdoored with malicious code to steal cryptocurrency private keys and drain wallets. Solana offers an SDK called "@solana/web3.js" used by decentralized applications (dApps) to connect and interact with the Solana blockchain. Supply chain security firm Socket reports that Solana's Web3.js library was hijacked to push out two malicious versions to steal private and secret cryptography keys to secure wallets and sign transactions. "A supply chain attack has been detected in versions 1.95.6 and 1.95.7 of the popular @solana/web3.js library, which receives more than ~350,000 weekly downloads on npm," explains Socket. "These compromised versions contain injected malicious code that is designed to steal private keys from unsuspecting developers and users, potentially enabling attackers to drain cryptocurrency wallets." Solana confirmed the breach, stating that one of their publish-access accounts was compromised, allowing the attackers to publish two malicious versions of the library. "Earlier today, a publish-access account was compromised for @solana/web3.js, a JavaScript library that is commonly used by Solana dapps. This allowed an attacker to publish unauthorized and malicious packages that were modified, allowing them to steal private key material and drain funds from dapps, like bots, that handle private keys directly. This issue should not affect non-custodial wallets, as they generally do not expose private keys during transactions. This is not an issue with the Solana protocol itself, but with a specific JavaScript client library and only appears to affect projects that directly handle private keys and that updated within the window of 3:20pm UTC and 8:25pm UTC on Tuesday, December 2, 2024. These two unauthorized versions (1.95.6 and 1.95.7) were caught within hours and have since been unpublished." Solana is warning developers who suspect they were compromised to immediately upgrade to the latest v1.95.8 release and to rotate any keys, including multisigs, program authorities, and server keypairs. The Solana Web3.js key stealer According to DataDog researcher Christophe Tafani-Dereeper, the threat actors added a malicious addToQueue function that stole secret and private keys and sent them to the attacker's server. "The backdoor inserted in v1.95.7 adds an "addToQueue" function which exfiltrates the private key through seemingly-legitimate CloudFlare headers," explains the researcher. "Calls to this function are then inserted in various places that (legitimately) access the private key." BleepingComputer reviewed the compromised library, and calls to the addToQueue function were added to five key locations in the librar—the fromSecretKey(), fromSeed(), createInstructionWithPublicKey(), and createInstructionWithPrivateKey() functions, and the account constructor. The functions are used throughout the library and have the following functionality: The malicious code will steal either the passed or generated secret key (first two functions and account constructor) or the passed private key (last two functions) and send it to the attacker's endpoints at https://sol-rpc[.]xyz/api/rpc/queue. This domain was registered on November 22nd at 19:58:27 UTC and has not been seen used in other attacks. Once the threat actors gain access to these keys, they can load them into their own wallets and remotely drain all stored cryptocurrency and NFTs. Socket says the attack has been traced to the FnvLGtucz4E1ppJHRTev6Qv4X7g8Pw6WPStHCcbAKbfx Solana address, which currently contains 674.86 Solana and varying amounts of the Irish Pepe , Star Atlas, Jupiter, USD Coin, Santa Hat, Pepe on Fire, Bonk, catwifhat, and Genopets Ki tokens. Solscan shows that the estimated value of the stolen cryptocurrency is $184,000 at the time of this writing. For anyone whose wallets were compromised in this supply chain attack, you should immediately transfer any remaining funds to a new wallet and discontinue the use of the old one as the private keys are now compromised.
Daily Brief Summary
Solana's official JavaScript SDK, "@solana/web3.js", was compromised in a supply chain attack, leading to the theft of cryptocurrency private keys.
Malicious versions 1.95.6 and 1.95.7 of the SDK were released after attackers compromised a publish-access account.
These compromised versions contained code specifically designed to steal private and secret keys from developers and users of Solana dApps.
The attack targeted the SDK's functions handling private keys, inserting a malicious "addToQueue" function to exfiltrate the keys.
Attackers managed to drain cryptocurrency wallets and tokens including USD Coin and Solana, with the estimated stolen value at around $184,000.
Solana has since unpublished the malicious versions and released a fixed version (v1.95.8). They recommend developers to upgrade immediately and rotate all keys.
The attackers' Solana address involved in the heist has been identified and linked to the stolen assets.