Chức năng lỗi nhằm mục đích cho phép người dùng cung cấp thông tin định tuyến của riêng họ, nhưng mã không giới hạn các bộ định tuyến trong danh sách được phê duyệt trước.

Công cụ tổng hợp trao đổi đa chuỗi Dexible đã bị tấn công và kết quả là số tiền điện tử trị giá 2 triệu đô la đã bị mất, theo báo cáo khám nghiệm tử thi ngày 17 tháng 2 do nhóm phát hành trên máy chủ Discord chính thức của dự án.
Kể từ 6:35 chiều UTC ngày 17 tháng 2, giao diện người dùng Dexible hiển thị cảnh báo bật lên về vụ hack bất cứ khi nào người dùng điều hướng đến nó.

Vào lúc 6:17 sáng UTC, nhóm đã báo cáo rằng họ đã phát hiện ra “một vụ hack tiềm ẩn đối với các hợp đồng Dexible v2” và đang điều tra vấn đề. Khoảng chín giờ sau, nó đưa ra tuyên bố thứ hai rằng giờ đây nó đã biết “2.047.635,17 đô la đã được khai thác từ 17 địa chỉ giao dịch, 4 trên mainnet, 13 trên arbitrum.”
Một báo cáo khám nghiệm tử thi đã được phát hành lúc 4:00 chiều UTC dưới dạng tệp PDF và được phát hành trên Discord, nhóm cho biết họ đang “tích cực thực hiện kế hoạch khắc phục”.
Trong báo cáo, nhóm tuyên bố rằng họ đã nhận thấy có điều gì đó không ổn khi một trong những người sáng lập của họ đã chuyển số tiền điện tử trị giá 50.000 đô la ra khỏi ví của anh ta vì những lý do chưa được biết vào thời điểm đó. Sau khi điều tra, nhóm phát hiện ra rằng kẻ tấn công đã sử dụng chức năng selfSwap của ứng dụng để chuyển hơn 2 triệu đô la tiền điện tử từ những người dùng trước đó đã cho phép ứng dụng chuyển mã thông báo của họ.
Chức năng selfSwap cho phép người dùng cung cấp địa chỉ của bộ định tuyến và dữ liệu cuộc gọi được liên kết với nó để thực hiện hoán đổi mã thông báo này lấy mã thông báo khác. Tuy nhiên, không có danh sách các bộ định tuyến được phê duyệt trước được ghi vào mã. Vì vậy, kẻ tấn công đã sử dụng chức năng này để định tuyến giao dịch từ Dexible đến từng hợp đồng mã thông báo, chuyển mã thông báo của người dùng từ ví của họ sang hợp đồng thông minh của chính kẻ tấn công. Bởi vì các giao dịch độc hại này đến từ Dexible, người dùng đã được phép sử dụng mã thông báo của họ, nên các hợp đồng mã thông báo không chặn các giao dịch.
Sau khi nhận được mã thông báo vào hợp đồng thông minh của riêng mình, kẻ tấn công đã rút tiền thông qua Tornado Cash vào ví BNB không xác định.
Dexible đã tạm dừng các hợp đồng của mình và kêu gọi người dùng thu hồi ủy quyền mã thông báo cho họ.

Thông lệ phổ biến về việc ủy quyền phê duyệt mã thông báo với số lượng lớn đôi khi dẫn đến tổn thất cho người dùng tiền điện tử do lỗi hoặc hợp đồng độc hại hoàn toàn, khiến một số chuyên gia cảnh báo người dùng thường xuyên thu hồi phê duyệt. Giao diện người dùng của hầu hết các ứng dụng Web3 không trực tiếp cho phép người dùng chỉnh sửa số lượng mã thông báo được phê duyệt, vì vậy người dùng thường mất toàn bộ số dư mã thông báo của họ nếu một ứng dụng hóa ra có lỗ hổng bảo mật. MetaMask và các ví khác đã cố gắng khắc phục sự cố này bằng cách cho phép người dùng chỉnh sửa phê duyệt mã thông báo ở bước xác nhận ví, nhưng nhiều người dùng tiền điện tử vẫn chưa nhận thức được rủi ro khi không sử dụng tính năng này.
Nhiều token không thể thay thế khác dường như cũng được lấy từ người có ảnh hưởng, bao gồm Meebits, CloneX, Mutant Ape Yacht Club và Bored Ape Yacht Club NFTs.
Trong khi các NFT được đề cập trước đó đã chuyển đến một địa chỉ lừa đảo đã biết, thì CryptoPunk #3706 đã được gửi đến một địa chỉ hoàn toàn khác và được bán với giá 75 ETH (trị giá 94.751 đô la). Những sự thật này có thể ngụ ý rằng việc bán mặt hàng cụ thể này được thực hiện bởi chủ sở hữu chứ không phải kẻ tấn công.
Mặc dù CryptoNovo tuyên bố cuộc tấn công là một vụ hack, nhưng người dùng Twitter Right đã chỉ ra rằng nhiều khả năng nguyên nhân là do lừa đảo. Ngay sau khi CryptoPunk đậu xanh được chuyển đến một địa chỉ an toàn, CryptoNovo đã thực hiện một số ủy quyền mã thông báo cho một hợp đồng thông minh không xác định. Chính hợp đồng này sau đó đã sử dụng chức năng “transferFrom” trên nhiều NFT khác nhau để chuyển chúng khỏi ví của người có ảnh hưởng.