Convex Finance Malicious DNS Hijack
Notice: This page is a freshly imported case study from the original repository. The original content was in a different format, and may not have relevant information for all sections. Please help restructure the content by moving information from the 'About' section to other sections, and add any missing information or sources you can find. If you are new here, please read General Tutorial on Wikis or Anatomy of a Case Study for help getting started.
Notice: This page contains sources which are not attributed to any text. The unattributed sources follow the initial description. Please assist by visiting each source, reviewing the content, and placing that reference next to any text it can be used to support. Feel free to add any information that you come across which isn't present already. Sources which don't contain any relevant information can be removed. Broken links can be replaced with versions from the Internet Archive. See General Tutorial on Wikis, Anatomy of a Case Study, and/or Citing Your Sources Guide for additional information. Thanks for your help!
Convex Finance is a tool to increase rewards for stakers and liquidity providers on the curve protocol. The service used NameCheap to host their primary domain where customers would interact with the service. On June 23rd, the Convex team was impersonated to NameCheap and a request was made to change the DNS settings on their domain name. This redirected the website to a phishing version, which looked identical to main version but requested approval on a new smart contract with a similar address. The new smart contract allowed the attacker to steal approved funds and was active on the site for a few hours, plus DNS propagation time. While at least 40 wallet addresses gave approvals, it appears that only a limited number of tokens were taken from those wallets. The Convex Finance team has agreed to reimburse all affected users from their treasury.
This is a global/international case not involving a specific country. [1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17][18][19]
About Convex Finance
"Introducing Convex Finance, a platform built to boost rewards for CRV stakers and liquidity providers alike, all in a simple and easy to use interface. Convex aims to simplify staking on Curve, as well as the CRV-locking system with the help of its native fee-earning token: CVX."
"Convex allows Curve.fi liquidity providers to earn trading fees and claim boosted CRV without locking CRV themselves. Liquidity providers can receive boosted CRV and liquidity mining rewards with minimal effort."
"Deposit liquidity, earn boosted CRV and rewards." "Deposit your Curve LP tokens to earn Curve trading fees, boosted CRV and CVX tokens. Boost is pooled from CRV stakers so you do not need to worry about locking yourself."
"If you’ve ever been a Curve LP, you know it is somewhat non-trivial to maximize your boost by depositing/maintaining your veCRV balance. If you’ve never been a Curve LP, it may be intimidating to do so without being a DeFi power user. Convex aims to make this process easy and bring the CRV boost ecosystem to everyone."
"Convex Finance is a notable protocol, as it holds the majority of Curve Finance’s CRV tokens in circulation. Curve Finance—the leading stablecoin automated market maker—provides approximately one-tenth of the decentralized economy’s liquidity in terms of total locked value."
"Convex used NameCheap as it’s domain registrar for convexfinance.com. The attacker was able to access the NameCheap account, even with 2-factor authentication enabled, a strong password, and security alerts. Convex team still had access to the account; 2FA was still enabled, the password was the same, but the attacker was still able to access the account, change the DNS to point to the malicious website, and disable security alerts."
"On June 23, 2022, @alexintosh on Twitter reported some abnormal activity on the Convex Finance website. Suspicious contract approvals were suspected."
"What is this unverified contract? 0xF403a2c10B0B9feF8f0d4F931df5d86aD187AE31. [The] @ConvexFinance website is asking for approval for that but the correct one is 0xF403C135812408BFbE8713b5A23a04b3D48AAE31. 4 Starting/Ending Characters are the same. DNS spoofing?"
"Shortly after this, @samczsun sent a direct-message to the Convex Twitter account with the same suspicions. Convex Twitter issued this initial warning tweet as a result of the two similar notifications."
"The potential malicious contract appears to transfer funds to address 0xcdc0f019f0ec0a903ca689e2bced3996efc53939."
"[T]here are also new contracts generating. The attacker seems to be generating similar addresses to well know protocols. Be sure to be very careful when approving new spending transactions."
"Please review approvals while we evaluate a potential front end issue."
"After some initial investigation, it was confirmed that the DNS of www.convexfinance.com had been hijacked, taking users to a copy of the website containing malicious contracts. The attack replaced web elements that interact with smart-contracts across varying portions of the site to new contracts under the attackers control. Unsuspecting users could have clicked familiar buttons in the UI, but been prompted to approve new, malicious contracts. Many contract addresses even contained the same first and last 4 characters, making it easier to glance at these new contracts and potentially accept them as the originals. Furthermore, the malicious contracts did not seem to be presented to all users, nor were they always presented on the same web elements."
"Convex team immediately changed the DNS back to point to the real website, and re-enabled security alerts, but it was still unknown how the attacker gained access in the first place."
"After this, Convex immediately reached out to Namecheap support, and after some short discussion about the incident, was told the domain may be disabled entirely for an unknown time period. Since the attack vector was not entirely understood, and the domain could potentially go offline, a new, temporary domain was deployed using a new registrar, at which time Convex Twitter tweeted the new domain."
"An alternate domain has been set-up as a precaution for Convex users. http://convexfinance.fi and http://frax.convexfinance.fi Users are encouraged to use these URLs to interact with the site while the investigation into the DNS hijack is conducted."
"Several individuals pointed out that the Convex Twitter account could have also been compromised, and this tweet may also have linked to malicious websites. In retrospect, this was a fair criticism. An attempt at alleviating those fears was made later, with @c2tp signing a message confirming the temporary URLs were indeed coming from the Convex team."
"[C]ommunication with NameCheap’s CEO on Twitter confirmed the attack vector; a customer support agent at NameCheap altered the DNS records."
"We've traced this down to a specific CS agent that was either hacked or compromised somehow and have removed all access from this agent. This affected a few targeted domains but we will continue investigating."
"Having regained control of the website, and a root cause confirmed, Convex Twitter communicated again with a brief summary of events."
"You tried to safe some bucks…don’t blame them. It’s obvious that major DeFi products shouldn’t take the free plan. Don’t blame, own."
"Usually we require a pin code from customer. We also monitor all actions as well a monitor a real time vip list. In the end our cs needs to be able to modify to help customers especially when 99% don't understand dns. If you want complete security use [Domain Vault]."
"The website is now using a new DNS registrar. Multiple layers of DNS monitoring are enabled to help identify these types of attacks in the future."
"If you used convexfinance.com in any capacity from June 20th — June 23rd, please review your contract approvals using https://etherscan.io/tokenapprovalchecker, revoke.cash, or similar tools, and remove any unknown approvals. Review and compare approvals with [the] list from the Convex Finance Docs."
"As of today, there are 40 known addresses that approved malicious contracts as a result of this incident. In total, an estimated 15,968 cvxCRV and 433 CRV are suspected of being stolen from users. Only 3 of the 40 addresses listed had funds taken. Please review this list if you have not already, and revoke malicious contract approvals if your address is listed here."
"Convex Finance will attempt to compensate losses stemming from the DNS hijacking from June 20–23, 2022, sourced from the treasury, and paid in CVX tokens equivalent to the USD values at time of loss. Funds will go directly to the addresses affected once approvals have been revoked to the malicious contracts."
This is a global/international case not involving a specific country.
The background of the exchange platform, service, or individuals involved, as it would have been seen or understood at the time of the events.
Include:
- Known history of when and how the service was started.
- What problems does the company or service claim to solve?
- What marketing materials were used by the firm or business?
- Audits performed, and excerpts that may have been included.
- Business registration documents shown (fake or legitimate).
- How were people recruited to participate?
- Public warnings and announcements prior to the event.
Don't Include:
- Any wording which directly states or implies that the business is/was illegitimate, or that a vulnerability existed.
- Anything that wasn't reasonably knowable at the time of the event.
There could be more than one section here. If the same platform is involved with multiple incidents, then it can be linked to a main article page.
The Reality
While the smart contract operates in a decentralized manner, most users will tend to interact with the contracts using transactions generated by a centralized website. When a domain name is accessed on the internet, a service called DNS is used to point the domain name to an IP address[20].
The Convex Finance project used NameCheap for their registrar for their primary website[21]. The procedures at NameCheap were such that support team members were able to override the DNS of the website to point the domain name to a malicious server[22][23][24].
"Convex used NameCheap as it’s domain registrar for convexfinance.com."
NameCheap also offers a "Domain Vault" service for an additional monthly fee.
"Usually we require a [PIN] code from customer. We also monitor all actions as well a[s] monitor a real time [VIP] list. In the end our [customer support] needs to be able to modify to help customers[,] especially when 99% don't understand [DNS]. If you want complete security use [Domain Vault]"
Convex Finance was not enrolled in that service.
What Happened
The account of a customer support agent for NameCheap was believed to be hacked[25]. This allowed the attacker to change the DNS settings of multiple high-profile domain names registered there, including Convex Finance.
The domain names were modified to point to a server with a similar front-end, which requested an approval for a smart contract which had the same first and last 4 characters as the official smart contract address of Convex Finance[26]. However, this smart contract would enable the attacker to drain all of the user's funds from their wallet.
"The attacker was able to access the NameCheap account, even with 2-factor authentication enabled, a strong password, and security alerts. Convex team still had access to the account; 2FA was still enabled, the password was the same, but the attacker was still able to access the account, change the DNS to point to the malicious website, and disable security alerts."
| Date | Event | Description |
|---|---|---|
| April 15th, 2021 6:04:00 AM | Convex Finance Launch | Convex Finance announces their launch on Twitter[27]. |
| March 22nd, 2022 | Domain Vault Announced | The first archived appearance of the "Domain Vault" service on NameCheap which costs $19.88/mo and is still "coming soon"[28]. |
| June 20th, 2022 7:26:48 AM | Malicious Contract Creation | The malicious smart contract 0xf403a2c10b0b9fef8f0d4f931df5d86ad187ae31 is created<etherscanmalicioussmartcontractcreation. |
| June 20th, 2022 | Domain Vault Launches | The NameCheap "Domain Vault" service now switches from "Get early access" to "Get Domain Vault" with the price remaining at $19.88/mo[29][30]. |
| June 23rd, 2022 1:02:00 PM | Alexintosh Tweet | The Twitter user @alexintosh reported an abnormal approval requested by the Convex Finance website, with a similar but not exact smart contract address[31][32][33]. |
| June 23rd, 2022 2:23:00 PM | Please Review Approvals | "Please review approvals while we evaluate a potential front end issue[34]." |
| June 23rd, 2022 3:46:00 PM | Additional Malicious Contracts | Twitter user HarukoTech describes several malicious contracts which were created against different protocols. |
| June 23rd, 2022 4:46:00 PM | Convex Preliminary | Convex Finance first posts on Twitter to announce the DNS hijacking. They list 5 addresses which are affected, that investigation is still ongoing, and that the issue is "remediated"[35][33]. |
| June 23rd, 2022 6:08:00 PM | Alternative Domains | Convex Finance posts on Twitter recommending users to use some alternative domain names to access the smart contract[36]. |
| June 24th, 2022 7:45:00 AM | Recommending Revoking | "As a precaution, it is recommended that all users who've interacted with the Convex website in the past week review their approvals as we continue to investigate. Use a tool like http://revoke.cash to remove any malicious or suspicious contracts[37]." |
| June 24th, 2022 10:01:00 AM | NameCheap Response | NameCheap responds that "We've traced this down to a specific CS agent that was either hacked or compromised somehow and have removed all access from this agent. This affected a few targeted domains but we will continue investigating."[38] |
| June 24th, 2022 11:21:00 AM | NameCheap DomainVault | "Usually we require a pin code from customer. We also monitor all actions as well a monitor a real time vip list. In the end our [customer support] needs to be able to modify to help customers especially when 99% don't understand dns. If you want complete security use [DomainVault]"[39] |
| June 24th, 2022 2:12:53 PM | Affected List Uploaded | The pastebin for the list of affected addresses is uploaded by Convex Finance[40]. |
| June 24th, 2022 2:46:00 PM | Restored Report | Convex Finance posts on Twitter to report that the original domain is back. Original "domain is back to normal operation. DNS is secured and actively monitored."[22] |
| June 24th, 2022 4:16:00 PM | NameCheap Clarifies Hack | NameCheap responds that it "[l]ooks more like [their customer support] person was hacked."[25] |
| June 25th, 2022 | Domain Vault Discount | NameCheap lowers the price of their Domain Vault service from $19.88/mo[41] to $1.88/mo[42]. |
| July 1st, 2022 10:14:00 AM | Postmortem Released | Convex Finance releases a post-mortem report with further details of what happened, how much was lost, and their compensation plans[43][21]. |
| July 2nd, 2022 | Price Segmentation | NameCheap decides to offer two different Domain Vault services from "Silver" tier at $1.88/mo[44] to "Titanium" tier at $19.88/mo[45]. |
Total Amount Lost
Cryptonomist reports that as of June 24th, 2023, "the tally of what the hacker managed to steal is about 220 ETH[33]" however no further information is provided as to how that number was determined.
Convex Finance described in their postmortem that only 3 of the 40 exploited addresses had funds taken from them, and the specific total was 15,968 cvxCRV and 433 CRV[21].
"As of today, there are 40 known addresses that approved malicious contracts as a result of this incident. In total, an estimated 15,968 cvxCRV and 433 CRV are suspected of being stolen from users. Only 3 of the 40 addresses listed had funds taken."
The closing market price of Curve on June 23rd, 2022 was $0.8308[46], while the closing market price of Convex's cvxCRV token was $0.8285[47]. Combining with the post-mortem information, this results in an estimated total loss of $13,589.22 USD.
The total amount at risk has been estimated at $15,000,000,000 USD. The total amount lost has been estimated at $14,000 USD.
Immediate Reactions
On June 23, 2022, the Twitter user @alexintosh reported an abnormal approval requested by the Convex Finance website, with a similar but not exact smart contract address[31][32].
"What is this unverified contract? 0xF403a2c10B0B9feF8f0d4F931df5d86aD187AE31. [The] @ConvexFinance website is asking for approval for that but the correct one is 0xF403C135812408BFbE8713b5A23a04b3D48AAE31. 4 Starting/Ending Characters are the same. DNS spoofing?"
The Convex Finance team posted to announce that they had restored the domain name to the original settings and provided a list of affected users[35].
Investigation is still ongoing, but a quick update for the community:
- DNS for http://convexfinance.com was hijacked, prompting users to approve malicious contracts for some interactions on the site. - Funds on verified contracts are unaffected. - Issue is remediated at this time, but investigation is ongoing. Full post-mortem to follow.
At this time, 5 addresses seem to have approved malicious contracts (in the tweet below). If you are the owner of one of these addresses, please reach out via Twitter DM or Discord.
Ultimate Outcome
The Namecheap CEO ultimately responded on Twitter to explain that there was a hacked or compromised customer support agent and all access was removed from them[38].
"We've traced this down to a specific CS agent that was either hacked or compromised somehow and have removed all access from this agent. This affected a few targeted domains but we will continue investigating." "In the meantime we would like to offer you our Domain Vault service for free and we will also place all affected domains on the highest security monitoring."
At this time, the addresses on this list (linked below) are suspected of having approved malicious contracts. Please note this list may or may not be complete.
There was strong criticism from user @flubdubster for Convex Finance using a standard domain registration which doesn't have advanced spoofing protection[48][49][50].
Total Amount Recovered
Convex Finance reportedly attempted to cover losses.
"Convex Finance will attempt to compensate losses stemming from the DNS hijacking from June 20–23, 2022, sourced from the treasury, and paid in CVX tokens equivalent to the USD values at time of loss. Funds will go directly to the addresses affected once approvals have been revoked to the malicious contracts."
The total amount recovered has been estimated at $14,000 USD.
Ongoing Developments
What parts of this case are still remaining to be concluded?
Prevention Policies
The issue ultimately stemmed from a single customer support agent being compromised. A multi-signature requirement on DNS changes would have prevented this scenario entirely.
While NameCheap offers advanced protections on their domain names, this service had just launched two days prior to the DNS change, so it was unlikely to be a reasonable expectation that Convex Finance would have already signed up.
Users of platforms need to be careful and double check any new approval requested by any platform against the proper smart contract address. It is recommended to double check any new smart contract addresses being interacted with.
References
- ↑ https://www.convexfinance.com/ (Aug 23, 2022)
- ↑ Convex for Curve.fi - ConvexFinance (Aug 23, 2022)
- ↑ platform/Convex Platform Security Audit Report.pdf at main · convex-eth/platform · GitHub (Aug 23, 2022)
- ↑ https://etherscan.io/address/0xb73261481064f717a63e6f295d917c28385af9aa (Aug 23, 2022)
- ↑ https://etherscan.io/address/0x72a1a639c69f8002f035a7dc231d634d74e6b86e (Aug 23, 2022)
- ↑ https://etherscan.io/address/0x56d3191ee65f1f76e4e902ec983c6420398d49c8 (Aug 23, 2022)
- ↑ https://etherscan.io/address/0xba63402bdf0e1b245333e5ef008baee69d669f2a (Aug 23, 2022)
- ↑ @ConvexFinance Twitter (Aug 24, 2022)
- ↑ @HarukoTech Twitter (Aug 24, 2022)
- ↑ $15 Billion Rugpull Vulnerability in Convex Finance protocol Uncovered and Resolved - OpenZeppelin blog (Aug 24, 2022)
- ↑ @JustinCBram Twitter (Aug 24, 2022)
- ↑ @ConvexFinance Twitter (Aug 24, 2022)
- ↑ Convex Finance Pre Launch Announcement (Aug 24, 2022)
- ↑ Ethereum Transaction Hash (Txhash) Details | Etherscan (Feb 15, 2023)
- ↑ Address 0x496e53c32a69a79a82ed85d2913010dd2f9d1b4f | Etherscan (Feb 15, 2023)
- ↑ raspu.eth | Address 0x4ffc5f22770ab6046c8d66dabae3a9cd1e7a03e7 | Etherscan (Feb 15, 2023)
- ↑ Address 0x5b186c93a50d3cb435fe2933427d36e6dc688e4b | Etherscan (Feb 15, 2023)
- ↑ Address 0x624301090700ea1e3c5b5224f89adfae405412c1 | Etherscan (Feb 15, 2023)
- ↑ Address 0x92557b6ffa116b53cf2c3bc1d6d33f78d97ed4c9 | Etherscan (Feb 15, 2023)
- ↑ https://www.cloudflare.com/learning/dns/what-is-dns/ (Feb 9, 2023)
- ↑ 21.0 21.1 21.2 Post Mortem Of Events June 23 (Aug 24, 2022)
- ↑ 22.0 22.1 @ConvexFinance Twitter (Aug 24, 2022)
- ↑ @DevanCollins3 Twitter (Aug 24, 2022)
- ↑ @LefterisJP Twitter (Feb 10, 2023)
- ↑ 25.0 25.1 @NamecheapCEO Twitter (Feb 11, 2023)
- ↑ @StefanPatatu Twitter (Aug 23, 2022)
- ↑ @ConvexFinance Twitter (Aug 24, 2022)
- ↑ Premium domain protection – Domain Vault - Namecheap (Feb 9, 2023)
- ↑ Premium domain protection – Domain Vault - Namecheap (Feb 12, 2023)
- ↑ Premium domain protection – Domain Vault - Namecheap (Feb 12, 2023)
- ↑ 31.0 31.1 @Alexintosh Twitter (Aug 23, 2022)
- ↑ 32.0 32.1 Contract Addresses - ConvexFinance (Aug 24, 2022)
- ↑ 33.0 33.1 33.2 https://en.cryptonomist.ch/2022/06/24/convex-more-info-on-the-hack/ (Jul 2, 2022)
- ↑ @ConvexFinance Twitter (Aug 23, 2022)
- ↑ 35.0 35.1 @ConvexFinance Twitter (Aug 24, 2022)
- ↑ @ConvexFinance Twitter (Aug 24, 2022)
- ↑ @ConvexFinance Twitter (Aug 23, 2022)
- ↑ 38.0 38.1 @NamecheapCEO Twitter (Aug 24, 2022)
- ↑ @NamecheapCEO Twitter (Aug 24, 2022)
- ↑ Known Approvals - Pastebin.com (Aug 24, 2022)
- ↑ Premium domain protection – Domain Vault - Namecheap (Feb 13, 2023)
- ↑ Premium domain protection – Domain Vault - Namecheap (Feb 13, 2023)
- ↑ @ConvexFinance Twitter (Feb 18, 2023)
- ↑ Premium domain protection – Domain Vault - Namecheap (Feb 13, 2023)
- ↑ Premium domain protection – Domain Vault - Namecheap (Feb 13, 2023)
- ↑ https://coinmarketcap.com/currencies/curve-dao-token/historical-data/ (Aug 24, 2022)
- ↑ https://coinmarketcap.com/currencies/convex-crv/historical-data/ (Aug 24, 2022)
- ↑ @flubdubster Twitter (Aug 24, 2022)
- ↑ @flubdubster Twitter (Aug 24, 2022)
- ↑ @flubdubster Twitter (Aug 24, 2022)