Back to Blog

Über das Marktrisiko hinaus: Ein Logikfehler im KashiPairMediumRiskV1-Vertrag von SushiSwap identifiziert

Code Auditing
December 15, 2022

Am 08. November 2022 stellten wir fest, dass einige Angriffe erfolgreich dazu führten, Vermögenswerte aus Pools abzuzweigen, die auf dem offiziellen KashiPairMediumRiskV1-Vertrag von Sushi (oder einigen davon abgeleiteten Verträgen) basieren. Nach der Untersuchung stellten wir fest, dass die Hauptursache ein Logikfehler ist, der zur 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 Gelder durch den Exploit verloren hatten. Daher glauben wir nun, dass es sicher ist, die Details zu der Schwachstelle und den Angriffen offenzulegen. In diesem Bericht möchten wir eine detaillierte Analyse bereitstellen.

Schwachstellenanalyse

Nach der Analyse des Quellcodes des KashiPairMediumRiskV1-Vertrags kommen wir zu dem Schluss, dass dieser Fehler in der borrow-Funktion liegt, die den veralteten exchangeRate verwendet, um den Leih-Share im solvent-Modifikator zu überprüfen. Insbesondere wird die Überprüfung basierend auf dem aktuellen Wert von exchangeRate in der Funktion _isSolvent durchgeführt.

Während in der liquidate-Funktion die Funktion updateExchangeRate ganz am Anfang aufgerufen wird. Daher wird die Überprüfung und Berechnung basierend auf dem aktualisierten Wert durchgeführt.

Offensichtlich könnte dieser Fehler ausgenutzt werden, um eine (riesige) Preisdifferenz zu erzeugen.

Angriffsanalyse

Wir beobachteten zwei Angriffe:

  1. 0xcf8f242ea83100b6d43e659f7f53a698d304fc6ac2ca6fe79e3e07ee05fefe58: Das Opfer verwendet den KashiPairMediumRiskV1-Vertrag, und der Verlust beträgt rund 9.466 USDC.
  2. 0x3d163bfbec5686d428a6d43e45e2626a220cc4fcfac7620c620b82c1f2537c78: Das Opfer ist ein Strategievertrag, der CauldronMediumRiskV1 (den Fork von KashiPairMediumRiskV1) verwendet, und der Verlust beträgt rund 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 die folgenden Schritte umfasst:

  1. Entleihen eines Flashloans von 40.900 BADGER und 121.904 USDC von Balancer.
  2. Hinterlegen von 40.900 BADGER und 113.599 USDC bei BentoBox.
  3. Aufrufen der Funktion addCollateral von kmBADGER/USDC-LINK, um 40.900.000.000.000.000.000.000 Anteile von BADGER zu hinterlegen.
  4. Aufrufen der Funktion addAsset von kmBADGER/USDC-LINK, um 112.529.000.000 Anteile von USDC zu hinterlegen.
  5. Aufrufen der Funktion borrow, um 120.755.095.093 Anteile von USDC zu leihen.
  6. Aufrufen der Funktion UpdateExchangeRate.
  7. Aufrufen der Funktion liquidate, um sich selbst zu liquidieren.
  8. Abheben von 40.899 BADGER und 123.006 USDC aus BentoBox.
  9. Zurückzahlen des Flashloans und Erzielen eines Gewinns von etwa 9466 USDC.

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

Die wichtigsten Schritte sind wie folgt:

Es ist nicht schwer zu erkennen, dass der Wert von exchangeRate, der in der borrow-Funktion verwendet wird, vom 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 vorübergehende Methode zur Abmilderung dieses Problems ist die Reduzierung oder Eliminierung der Abweichung durch gelegentliches (oder periodisches) Aufrufen der Funktion UpdateExchangeRate. Diese Methode wurde bereits von vielen betroffenen Projekten übernommen, und die entsprechenden Transaktionen sind in der Praxis zu beobachten.

Fazit

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 Angriffe zu 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 aufstrebende Web3-Welt zu verbessern, um deren Massenadoption zu fördern. Zu diesem Zweck bietet BlockSec Dienstleistungen für die Prüfung von Smart Contracts und EVM-Ketten an, die Phalcon-Plattform für die sichere Entwicklung und die proaktive Abwehr von Bedrohungen, die MetaSleuth-Plattform für die Nachverfolgung und Untersuchung von Geldern sowie die MetaDock-Erweiterung für Web3-Entwickler, um effizient in der Krypto-Welt zu 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 zehn Millionen US-Dollar erhalten.

Offizielle Website: https://blocksec.com/

Offizielles Twitter-Konto: https://twitter.com/BlockSecTeam

Sign up for the latest updates
Tether Freezes $6.76M USDT Linked to Iran's IRGC & Houthi Forces: Why On-Chain Compliance is Now a Geopolitical Battlefield
Security Insights

Tether Freezes $6.76M USDT Linked to Iran's IRGC & Houthi Forces: Why On-Chain Compliance is Now a Geopolitical Battlefield

Looking ahead, targeted freezing events like this $6.76M USDT action will only become more common. On-chain data analysis is improving. Stablecoin issuers are also working closely with regulators. As a result, hidden illicit financial networks will be exposed.

Weekly Web3 Security Incident Roundup | Mar 2 – Mar 8, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Mar 2 – Mar 8, 2026

During the week of March 2 to March 8, 2026, seven blockchain security incidents were reported with total losses of ~$3.25M. The incidents occurred across Base, BNB Chain, and Ethereum, exposing critical vulnerabilities in smart contract business logic, token deflationary mechanics, and asset price manipulation. The primary causes included a double-minting logic flaw during full token deposits that allowed an attacker to exponentially inflate their balances through repeated burn-and-mint cycles, a price manipulation vulnerability in an AMM-based lending market where artificially inflated vault shares created divergent price anchors to incorrectly force healthy positions into liquidation, and a flawed access control implementation relying on trivially spoofed contract interfaces that enabled attackers to bypass authorization to batch-mint and dump arbitrary tokens.

Weekly Web3 Security Incident Roundup | Feb 23 – Mar 1, 2026
Security Insights

Weekly Web3 Security Incident Roundup | Feb 23 – Mar 1, 2026

During the week of February 23 to March 1, 2026, seven blockchain security incidents were reported with total losses of ~$13M. The incidents affected multiple protocols, exposing critical weaknesses in oracle design/configuration, cryptographic verification, and core business logic. The primary drivers included oracle manipulation/misconfiguration that led to the largest loss at YieldBloxDAO (~$10M), a crypto-proof verification flaw that enabled the FOOMCASH (~$2.26M) exploit, and additional token design and logic errors impacting Ploutos, LAXO, STO, HedgePay, and an unknown contract, underscoring the need for rigorous audits and continuous monitoring across all protocol layers.