Back to Blog

Loopring (LRC) Protokollvorfall

Code Auditing
December 3, 2020
4 min read

Hash(ti)(mod2248)=[b0,b1,,b247]T,wobei bi{0,1}\text{Hash}(t_i) \pmod{2^{248}} = [b_0, b_1, \dots, b_{247}]^T, wobei\ b_i \in \{0, 1\}

Im November 2020 ermöglichte eine kritische Schwachstelle im LRC Protocol Fee Vault von Loopring Angreifern, Zugriffskontrollschwächen auszunutzen und Tokenpreise durch Flash-Loan-Angriffe zu manipulieren. Dieser Vorfall unterstreicht die Bedeutung robuster Zugriffskontrollen und kontinuierlicher DeFi-Sicherheitsüberwachung, um kostspielige Exploits zu verhindern.

Einführung in den Vorfall des Loopring (LRC) Protokolls

Ende 2020 erlebten mehrere Ethereum-basierte DeFi-Plattformen, darunter Pickle Finance und 88mph, Sicherheitsvorfälle. Um solche Schwachstellen zu erkennen, entwickelte BlockSec das ThunderForecast-System, das verdächtige Transaktionen mit ungewöhnlich großen Handelsratenunterschieden und konsistenten Ether-Gewinnen desselben extern besessenen Kontos (EOA) identifizierte.

Mithilfe unseres EthScope-Systems analysierten wir diese Transaktionen und entdeckten einen Exploit, der auf eine Schwachstelle im Vault-Protokoll von Loopring abzielte, insbesondere auf den LRC Protocol Fee Vault (LRCPFV). Dieser Blogbeitrag beschreibt den Angriff, seine Auswirkungen und die Lehren für die DeFi-Sicherheits-Community.


Überblick über den LRC Protocol Fee Vault

Loopring ist ein Open-Source-dezentrales Exchange (DEX)-Protokoll auf Ethereum. Sein nativer Token, LRC (ERC-20), wird innerhalb des Ökosystems verwendet. Der Vault-Protokoll von Loopring, bekannt als LRC Protocol Fee Vault (LRCPFV), speichert Protokollgebühren und ermöglicht den Umtausch von Gebühren in LRC-Token.

Die anfällige Funktion in LRCPFV ist sellTokenForLRC, die den Umtausch von Tokens gegen LRC ohne ordnungsgemäße Zugriffskontrolle ermöglicht und es jedem erlaubt, sie aufzurufen.

function sellTokenForLRC(
    address token,
    uint amount
)
    external
    nonReentrant
{
    require(amount > 0, "ZERO_AMOUNT");
    require(token != lrcAddress, "PROHIBITED");

    address recipient = tokenSellerAddress == address(0) ? owner : tokenSellerAddress;

    if (token == address(0)) {
        recipient.sendETHAndVerify(amount, gasleft());
    } else {
        token.safeTransferAndVerify(recipient, amount);
    }

    require(
        tokenSellerAddress == address(0) ||
        ITokenSeller(tokenSellerAddress).sellToken(token, lrcAddress),
        "SELL_FAILURE"
    );

    emit TokenSold(token, amount);
}

Da dieser Funktion die Zugriffskontrolle fehlt, konnten Angreifer sie wiederholt aufrufen, um Tokenpreise zu manipulieren und von Arbitragemöglichkeiten zu profitieren.


Details des Angriffs

Wir analysierten eine repräsentative Angriffstransaktion: 0x00b2c.... Der Angriff umfasste sechs wichtige Schritte:

  1. Flash Loan: 3.773,88 ETH von einem Flash-Loan-Anbieter (0xEB7e...) ausgeliehen.
  2. Erster Swap: 3.773,88 ETH in 5.014,68 LRC auf Uniswap V1-LRC zu einem Kurs von 1 ETH = 1,32878 LRC umgetauscht.
  3. Fee Vault Swap: 0,231 ETH Gebühr, die im LRCPFV gespeichert sind, in 0,000219 LRC umgetauscht, indem die anfällige Funktion sellTokenForLRC aufgerufen wurde. Dieser nicht autorisierte Aufruf manipulierte den LRC-Preis auf Uniswap und erhöhte dessen Wert gegenüber ETH drastisch (1 ETH = 0,00094 LRC).
  4. Profitabler Swap: 5.014,68 LRC auf Uniswap V1-LRC zurück in 3.774,09 ETH getauscht und aufgrund des manipulierten Preises zusätzliche 0,215 ETH gewonnen.
  5. Darlehensrückzahlung: Die 3.773,88 ETH Flash Loan zurückgezahlt.
  6. Gewinnübertragung: Die 0,215 ETH Gewinn an die EOA des Angreifers gesendet.

Dieser Exploit nutzte einen Flash-Loan-Angriff in Kombination mit Preismanipulation und mangelnder Zugriffskontrolle im Vault-Vertrag aus.


Auswirkungen und Ausmaß des Angriffs

Die analysierte Transaktion fand am 13. Oktober 2020 statt. Laut CoinGecko-Daten lag der LRC-Preis zu dieser Zeit bei etwa 0,0005175 ETH.

Unsere Untersuchung ergab:

  • Bösartige Verträge: 3 vom Angreifer bereitgestellt (0xa896..., 0x414a..., 0xd91d...).
  • Angriffsvolumen: 90 Transaktionen, die seit Block 9.644.449, als LRCPFV bereitgestellt wurde, von der EOA des Angreifers (0x81e8...) gestartet wurden.
  • Maximaler Gewinn: Eine Transaktion (0x33eab...) brachte einen Gewinn von 9,89 ETH.
  • Gesamtgewinn: Ungefähr 80,97 ETH (~48.849 USD per 1. Oktober 2020).

Die Grundursache war die fehlende Zugriffskontrolle in der Funktion sellTokenForLRC, die eine wiederholte Ausnutzung ermöglichte.


Beginnen Sie mit Phalcon Security

Erkennen Sie jede Bedrohung, alarmieren Sie, was wichtig ist, und blockieren Sie Angriffe.

Jetzt kostenlos testen

Gelernte Lektionen und das Ende

Mit dem Wachstum des Ethereum DeFi-Ökosystems werden Sicherheitsprobleme wie Schwachstellen bei der Zugriffskontrolle immer kritischer. Während aufsehenerregende Angriffe oft Aufmerksamkeit erregen, können weniger auffällige Schwachstellen erhebliche finanzielle Verluste verursachen, wie dieser Vorfall gezeigt hat.

Loopring verlor durch diesen Exploit etwa 80,97 ETH, was die Notwendigkeit rigoroser Smart-Contract-Audits und kontinuierlicher Sicherheitsüberwachung unterstreicht.

Für DeFi-Protokolle sind die Implementierung strenger Zugriffskontrollen, die Nutzung von Tools wie dem Smart Contract Audit und Phalcon Security von BlockSec sowie proaktives Risikomanagement unerlässlich, um digitale Assets zu schützen.


MetaSleuth Investigation erkunden

Spuren verfolgen und Beweise für Ermittlungen sammeln

Jetzt kostenlos testen

Zeitplan des Vorfalls

  • 2020/11/30: Verdächtige Transaktionen von ThunderForecast erkannt.
  • 2020/12/01: Detaillierte Analyse mit EthScope abgeschlossen.
  • 2020/12/02: Schwachstelle dem Loopring-Team gemeldet.
  • 2020/12/03: Schwachstelle bestätigt; Korrektur implementiert.
  • 2020/12/03: Öffentliche Offenlegung der Vorfallsdetails.
  • 2021/01/03: CVE-2020-35962 der Schwachstelle zugewiesen.

Referenzen und weiterführende Lektüre

Sign up for the latest updates
~$15.9M Lost: Trusted Volumes & More | BlockSec Weekly
Security Insights

~$15.9M Lost: Trusted Volumes & More | BlockSec Weekly

This BlockSec bi-weekly security report covers 11 notable attack incidents identified between April 27 and May 10, 2026, across Sui, Ethereum, BNB Chain, Base, Blast, and Berachain, with total estimated losses of approximately $15.9M. Three incidents are analyzed in detail: the highlighted $1.14M Aftermath Finance exploit on Sui, where a signed/unsigned semantic mismatch in the builder-fee validation allowed an attacker to inject a negative fee that was converted into positive collateral during settlement; the $5.87M Trusted Volumes RFQ authorization mismatch on Ethereum; and the $5.7M Wasabi Protocol infrastructure-to-contract-control compromise across multiple EVM chains.

Newsletter - April 2026
Security Insights

Newsletter - April 2026

In April 2026, the DeFi ecosystem experienced three major security incidents. KelpDAO lost ~$290M due to an insecure 1-of-1 DVN bridge configuration exploited via RPC infrastructure compromise, Drift Protocol suffered ~$285M from a multisig governance takeover leveraging Solana's durable nonce mechanism, and Rhea Finance incurred ~$18.4M following a business logic flaw in its margin-trading module that allowed circular swap path manipulatio

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly
Security Insights

~$7.04M Lost: GiddyDefi, Volo Vault & More | BlockSec Weekly

This BlockSec weekly security report covers eight attack incidents detected between April 20 and April 26, 2026, across Ethereum, Avalanche, Sui, Base, HyperLiquid, and MegaETH, with total estimated losses of approximately $7.04M. The highlighted incident is the $1.3M GiddyDefi exploit, where the attacker did not break any cryptography or use a flash loan but simply replayed an existing on-chain EIP-712 signature with the unsigned `aggregator` and `fromToken` fields swapped out for a malicious contract, demonstrating how partial signature coverage turns any historical signature into a generic permit. Other incidents include a $3.5M Volo Vault operator key compromise on Sui, a $1.5M Purrlend privileged-role takeover, a $413K SingularityFinance oracle misconfiguration, a $142.7K Scallop cross-pool index injection, a $72.35K Kipseli Router decimal mismatch, a $50.7K REVLoans (Juicebox) accounting pollution, and a $64K Custom Rebalancer arbitrary-call exploit.

Best Security Auditor for Web3

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

BlockSec Audit