Back to Blog

Die wahre Ursache des Vee Finance Sicherheitsvorfalls

Code Auditing
September 22, 2021

VEE finance hat einen Bericht über den jüngsten Sicherheitsvorfall veröffentlicht. In dem Bericht geben sie an, dass die Hauptursache darin liegt, dass „die Manipulation des Preises der Vee Finance Orakelmaschine und die Ermittlung des Preises der Orakelmaschine nicht mit Dezimalstellen verarbeitet wurden, was dazu führte, dass die erwartete Slippage-Prüfung vor dem Tausch nicht funktionierte.“

„Die Hauptursache des Unfalls war, dass im Prozess der Erstellung einer Order für gehebelten Handel nur der Preis des Pangolin-Pools vom Orakel als Quelle des Preis-Feeds verwendet wurde und der Pool-Preis um mehr als 3 % schwankte. Das Orakel aktualisierte den Preis, was den Angreifer dazu veranlasste, den Preis des Pangolin-Pools zu manipulieren. Die Manipulation des Preises der Vee Finance Orakelmaschine und die Ermittlung des Preises der Orakelmaschine wurden nicht mit Dezimalstellen verarbeitet, was dazu führte, dass die erwartete Slippage-Prüfung vor dem Tausch nicht funktionierte.“ – zitiert aus dem von VEE finance veröffentlichten Bericht.

Nach unserer sorgfältigen Untersuchung stellen wir jedoch fest, dass dies möglicherweise NICHT der Fall ist. Der eigentliche Grund ist, dass der Angreifer ein FAKE ctokenB erstellt und an den Vertrag übergibt. Da das ctokenB vom Angreifer kontrolliert wird, kann es einen beliebigen zugrunde liegenden Token zurückgeben, der zur Berechnung des Tokenpreises verwendet wird. Dies ist die eigentliche Ursache des Angriffs.

Der gesamte Prozess

Es gibt eine externe Funktion namens createOrderERC20ToERC20, die von beliebigen Benutzern aufgerufen werden kann, um einen Token-Tausch zu erstellen, indem das ctoken verwendet wird, das durch Hinterlegung von Sicherheiten im Vertrag erhalten wird. Das ctoken hat einen zugrunde liegenden Token, der den tatsächlichen Token repräsentiert.

In einem normalen Fall muss die Dapp beim Aufruf von createOrderERC20ToERC20 zum Handel eines Token-Paares mit Hebelwirkung sicherstellen, dass der Handel keinen Verlust verursachen kann (andernfalls verliert die Dapp Geld). Dies wird durch den Aufruf der Funktion getAmountOutMin erzwungen.

Angenommen, wir hinterlegen 0,95 ETH in der Dapp und erhalten ein ctoken, das 0,5 ETH wert ist (Überbesicherung). Dann können wir den 3-fachen Hebel nutzen, um die Dapp zu bitten, im Namen des Benutzers 1,5 ETH gegen einen anderen Token (sagen wir TokenX) zu tauschen. In diesem Fall muss die Dapp, um den Verlust zu verhindern, sicherstellen, dass der Wert des gehandelten TokenX nicht unter 0,95 * 1,5 ETH liegen kann (andernfalls besteht für die Dapp das Risiko, Geld zu verlieren). Die Dapp nutzt ein externes Preisorakel, um den Wert von ETH und TokenX zu berechnen.

Die Funktion createOrderERC20ToERC20 validiert jedoch das übergebene ctokenB nicht. Daher konnte der Angreifer seinen eigenen Vertrag als ctokenB implementieren und ihn der Funktion createOrderERC20ToERC20 übergeben. Als Ergebnis kann dieses gefälschte ctokenB den zugrunde liegenden Token als LINK (0x5947bb275c521040051d82396192181b413227a3) zurückgeben, wenn es in createOrderERC20ToERC20 und getAmountOutMin aufgerufen wird, aber den zugrunde liegenden Token als BTC zurückgeben, wenn es in IPriceOracle(oracle).getUnderlyingPrice(createParams.ctokenB) aufgerufen wird. Dadurch kann die Prüfung isRightPrice umgangen werden – da der zur Preisberechnung verwendete Token BTC (anstelle von LINK) ist. Dies kann durch den Rückgabewert von priceB bestätigt werden – 0x15e1549d1216fe9fc032e7c00000 (443783124870000000000000000000000). Dies ist der Preis von BTC.

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass der Angreifer die fehlende Prüfung des ctokenB ausgenutzt hat. Da das ctokenB keine vertrauenswürdige Quelle ist, kann der zugrunde liegende Token, der von ctokenB zurückgegeben wird, nicht vertraut werden. Das Preisorakel wurde bei diesem Angriff jedoch NICHT kompromittiert.

Lektionen für die Zukunft

Ein DeFi-Projekt sicher zu machen, ist keine leichte Aufgabe. Neben der Code-Prüfung sind wir der Meinung, dass die Community einen proaktiven Ansatz verfolgen sollte, um den Projektstatus zu überwachen und den Angriff zu blockieren, bevor er überhaupt stattfindet.

Über BlockSec

BlockSec ist ein wegweisendes Unternehmen für Blockchain-Sicherheit, das 2021 von einer Gruppe weltweit anerkannter Sicherheitsexperten gegründet wurde. Das Unternehmen engagiert sich für die Verbesserung der Sicherheit und Benutzerfreundlichkeit der aufstrebenden Web3-Welt, um deren Massenadoption zu erleichtern. Zu diesem Zweck bietet BlockSec Dienstleistungen für die Prüfung von Smart Contracts und EVM-Chains an, die Phalcon-Plattform für die sichere Entwicklung und proaktive Abwehr von Bedrohungen, die MetaSleuth-Plattform für die Nachverfolgung und Untersuchung von Geldern sowie die MetaSuites-Erweiterung für Web3-Entwickler, die effizient in der Krypto-Welt surfen.

Bis heute hat das Unternehmen über 300 angesehene Kunden wie MetaMask, Uniswap Foundation, Compound, Forta und PancakeSwap betreut und in zwei Finanzierungsrunden von namhaften Investoren wie Matrix Partners, Vitalbridge Capital und Fenbushi Capital zweistellige Millionenbeträge erhalten.

Offizielle Website: https://blocksec.com/

Offizieller Twitter-Account: https://twitter.com/BlockSecTeam

Sign up for the latest updates
Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Apr 13 – Apr 19, 2026

This BlockSec weekly security report covers four attack incidents detected between April 13 and April 19, 2026, across multiple chains such as Ethereum, Unichain, Arbitrum, and NEAR, with total estimated losses of approximately $310M. The highlighted incident is the $290M KelpDAO rsETH bridge exploit, where an attacker poisoned the RPC infrastructure of the sole LayerZero DVN to fabricate a cross-chain message, triggering a cascading WETH freeze across five chains and an Arbitrum Security Council forced state transition that raises questions about the actual trust boundaries of decentralized systems. Other incidents include a $242K MMR proof forgery on Hyperbridge, a $1.5M signed integer abuse on Dango, and an $18.4M circular swap path exploit on Rhea Finance's Burrowland protocol.

The Decentralization Dilemma: Cascading Risk and Emergency Power in the KelpDAO Crisis
Security Insights

The Decentralization Dilemma: Cascading Risk and Emergency Power in the KelpDAO Crisis

This BlockSec deep-dive analyzes the KelpDAO $290M rsETH cross-chain bridge exploit (April 18, 2026), attributed to the Lazarus Group, tracing a causal chain across three layers: how a single-point DVN dependency enabled the attack, how DeFi composability cascaded the damage through Aave V3 lending markets to freeze WETH liquidity exceeding $6.7B across Ethereum, Arbitrum, Base, Mantle, and Linea, and how the crisis forced decentralized governance to exercise centralized emergency powers. The article examines three parameters that shaped the cascade's severity (LTV, pool depth, and cross-chain deployment count) and provides an exclusive technical breakdown of Arbitrum Security Council's forced state transition, an atomic contract upgrade that moved 30,766 ETH without the holder's signature.

Weekly Web3 Security Incident Roundup | Apr 6 – Apr 12, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Apr 6 – Apr 12, 2026

This BlockSec weekly security report covers four DeFi attack incidents detected between April 6 and April 12, 2026, across Linea, BNB Chain, Arbitrum, Optimism, Avalanche, and Base, with total estimated losses of approximately $928.6K. Notable incidents include a $517K approval-related exploit where a user mistakenly approved a permissionless SquidMulticall contract enabling arbitrary external calls, a $193K business logic flaw in the HB token's reward-settlement logic that allowed direct AMM reserve manipulation, a $165.6K exploit in Denaria's perpetual DEX caused by a rounding asymmetry compounded with an unsafe cast, and a $53K access control issue in XBITVault caused by an initialization-dependent check that failed open. The report provides detailed vulnerability analysis and attack transaction breakdowns for each incident.

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit