Back to Blog

Jenseits des Marktrisikos: Logikfehler im SushiSwap KashiPairMediumRiskV1 Contract entdeckt

Code Auditing
December 15, 2022
4 min read

Am 08.11.2022 stellten wir fest, dass einige Angriffe erfolgreich Vermögenswerte aus Pools entzogen haben, die auf dem offiziellen KashiPairMediumRiskV1-Vertrag von Sushi (oder einigen davon abgeleiteten Verträgen) aufbauen. Nach der Untersuchung stellten wir fest, dass die Grundursache in einem Logikfehler liegt, der zu einer Fehlkalkulation der Token-Preise führt.

Wir kontaktierten sofort das Sicherheitsteam von Sushi, und sie bestätigten unsere Ergebnisse. Das Gute daran war, dass sie Maßnahmen ergriffen, um einige wertvolle, aber anfällige Pools vor Angriffen zu schützen. Außerdem stellten sie Verfahren zur Entschädigung derjenigen bereit, die durch den Exploit Gelder verloren hatten. Daher glauben wir nun, dass es sicher ist, die Details der Schwachstelle und der Angriffe offenzulegen. In diesem Bericht möchten wir eine detaillierte Analyse liefern.

Schwachstellenanalyse

Nach der Analyse des Quellcodes des KashiPairMediumRiskV1-Vertrags kommen wir zu dem Schluss, dass sich dieser Fehler in der borrow-Funktion befindet, die den veralteten exchangeRate zur Überprüfung des Borrow-Anteils im solvent-Modifier verwendet. Insbesondere wird die Überprüfung basierend auf dem aktuellen Wert von exchangeRate in der _isSolvent-Funktion durchgeführt.

Während in der liquidate-Funktion die updateExchangeRate-Funktion ganz am Anfang aufgerufen wird. Daher erfolgen die Überprüfung und Berechnung auf Basis des aktualisierten Wertes.

Offensichtlich könnte dieser Fehler ausgenutzt werden, um zu einer (riesigen) Preisdifferenz zu führen.

Angriffsanalyse

Wir beobachteten zwei Angriffe:

  1. 0xcf8f242ea83100b6d43e659f7f53a698d304fc6ac2ca6fe79e3e07ee05fefe58: Das Opfer verwendet den KashiPairMediumRiskV1-Vertrag, und der Verlust beträgt etwa 9.466 USDC.
  2. 0x3d163bfbec5686d428a6d43e45e2626a220cc4fcfac7620c620b82c1f2537c78: Das Opfer ist ein Strategievertrag, der CauldronMediumRiskV1 (die Abspaltung von KashiPairMediumRiskV1) verwendet, und der Verlust beträgt etwa 110.911 MIM.

Beachten Sie, dass die erste Angriffstransaktion von einem Bot gestartet wurde, der die ursprüngliche Angriffstransaktion vorwegnimmt: 0x7a845d8d2af7919f5b9e22dd5571305cb5347d17986a8402715c1463d515fc18, und die ursprüngliche Angreiferadresse lautet 0xb7ea0f0f8c6df7a61bf024db21bbe85ac5688005.

Hier nehmen wir die erste Angriffstransaktion als Beispiel, die aus folgenden Schritten besteht:

  1. Entleihen eines Flashloans von 40.900 BADGER und 121.904 USDC von Balancer.
  2. Einzahlung von 40.900 BADGER und 113.599 USDC in BentoBox.
  3. Aufruf der Funktion addCollateral von kmBADGER/USDC-LINK zur Einzahlung von 40.900.000.000.000.000.000.000.000.000.000 Anteilen von BADGER.
  4. Aufruf der Funktion addAsset von kmBADGER/USDC-LINK zur Einzahlung von 112.529.000.000 Anteilen von USDC.
  5. Aufruf der Funktion borrow, um 120.755.095.093 Anteile von USDC zu leihen.
  6. Aufruf der Funktion UpdateExchangeRate.
  7. Aufruf der Funktion liquidate, um sich selbst zu liquidieren.
  8. Abhebung von 40.899 BADGER und 123.006 USDC aus BentoBox.
  9. Rückzahlung des Flashloans und Erzielung eines Gewinns von ca. 9466 USDC.

Beachten Sie, dass Schritt 6 nicht notwendig ist, da die borrow-Funktion die UpdateExchangeRate-Funktion aufruft.

Die wichtigsten Schritte sind folgende:

Es ist nicht schwer zu erkennen, dass der Wert von exchangeRate, der in der borrow-Funktion verwendet wird, von dem Wert abweicht, der in der liquidate-Funktion verwendet wird:

  • In der borrow-Funktion: 250.997.938.545.109.237.740.214.705.193
  • In der liquidate-Funktion: 328.266.883.541.864.569.505.752.156.794

Die Auswirkungen

Es gibt Dutzende von Pools (sowohl auf Ethereum als auch auf BSC), die von diesem Fehler betroffen sein könnten. Eine vorläufige Methode zur Abmilderung dieses Problems besteht darin, die Abweichung durch gelegentliches (oder periodisches) Aufrufen der UpdateExchangeRate-Funktion zu reduzieren oder zu eliminieren. Diese Methode wurde bereits von vielen betroffenen Projekten übernommen, und die entsprechenden Transaktionen können in freier Wildbahn beobachtet werden.

Fazit

Die Sicherung eines DeFi-Projekts ist keine einfache Aufgabe. Neben der Code-Prüfung sollten wir unserer Meinung nach auf proaktive Weise den Projektstatus überwachen und Angriffe blockieren, bevor sie überhaupt stattfinden.

Über BlockSec

BlockSec ist ein wegweisendes Blockchain-Sicherheitsunternehmen, das 2021 von einer Gruppe weltweit anerkannter Sicherheitsexperten gegründet wurde. Das Unternehmen hat sich zum Ziel gesetzt, die Sicherheit und Benutzerfreundlichkeit für die aufkommende Web3-Welt zu verbessern, um deren Massenadoption zu fördern. Zu diesem Zweck bietet BlockSec Auditing-Dienste für Smart Contracts und EVM-Ketten, die Phalcon-Plattform zur proaktiven Entwicklung und Abwehr von Bedrohungen, die MetaSleuth-Plattform zur Nachverfolgung und Untersuchung von Geldern sowie die MetaDock-Erweiterung für Web3-Entwickler zum effizienten Surfen in der Kryptowelt an.

Bislang hat das Unternehmen über 300 namhafte 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
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 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.

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