VOLTAGE FINANCE - REKT



Voltage Finance'in yaklaşık 4 milyon doları, Fuse Ağındaki “Lending-as-a-Service (Hizmet Olarak Ödünç Verme)” ortağı Ola Finance üzerinden istismara uğradı.

Ola, bir Compound çatalı olmaktan ziyade kendisini “başkalarının Compound benzeri örnekler oluşturmasını sağlayan bir teknoloji sağlayıcısı” olarak tanımlıyor.

Bu ayın başlarında, Gnosis/xDAI zincirindeki benzer bir olay, Compound'un kodlarını kullanan ekipler için bolca uyarı niteliği taşıyordu.

Ama bir şekilde, ne Voltage ne de Ola olanlardan haberdardı.

Keşke geliştiricilerin DeFi'daki exploitlerden ve hacklemelereden haberdar olabilecekleri bir gazete olsa…

Agave DAO ve Hundred Finance vakalarına benzer şekilde, bu istismar, Fuse Network'ün köprülenen tokenlar için kullandığı ERC 677 standardındaki re-entrancy güvenlik açığından kaynaklanıyordu.

Bu token türleri, bakiyeler güncellenmeden önce ek transferler yapmak için kötüye kullanılabilen bir callAfterTransfer() fonksiyonu içerir (eğer temel kod önerilen checks-effects-interactions yürütme rutinini izlemiyorsa).

Orijinal Compound kodu bu modeli izlemez, ancak önerilen tüm teminat tokenları protokole eklenmeden önce bu güvenlik açığı açısından incelenir.

Kaynak: BlockSecTeam

Saldırganın Fuse üzerindeki adresi: 0x371D7C9e4464576D45f11b27Cf88578983D63d75

Örnek tx (BUSD): 0x1b3e06b6b310886dfd90a5df8ddbaf515750eda7126cf5f69874e92761b1dc90

Saldırganın A Kontratı: 0x632942c9BeF1a1127353E1b99e817651e2390CFF

Saldırganın B Kontratı: 0x9E5b7da68e2aE8aB1835428E6E0c83a7153f6112

1: A kontratı, 550 WETH'yi Kontrat B'ye aktarıyor

2: Kontrat B 550 WETH yatırıyor, 27.284 WETH mint ediyor

3: Kontrat B 507.216 BUSD borç alıyor

4: Kontrat BUSD callAfterTransfer() aracılığıyla Kontrat B'yi geri çağırıyor

5: Kontrat B, Kontrat A'ya hem 507.216 BUSD hem de 27.284 BUSD'yi aktarıyor.

6: Kontrat A, 550 WETH'lik ilk yatırılan miktarı kurtarmak ve 507.216 BUSD'yi kâr olarak tutmak için 27.284 oWETH’i iade ediyor.

BlockSecTeam'in açıkladığı gibi:

borrow() fonksiyonunun kod mantığında, ilgili dahili durumlar harici bir çağrıdan sonra güncellenir. Özellikle doTransferOut() fonksiyonu, ERC677 tabanlı tokenın transfer() fonksiyonunu çağıracak ve bu da sonunda harici bir çağrıya yol açacaktır.

Yukarıdaki işlem tekrar tekrar $USDC, $FUSD, $WBTC, $WETH ve $FUSE almak için kullanıldı.

Ortaya çıkan fonlar önce Ethereum'a köprülendi (başlangıçta Tornado Cash ile finanse edildi) ve daha sonra yaklaşık 3,1 milyon dolar değerinde ETH, WBTC, USDC (acaba Circle bu fonları donduracak mı?) ve FUSE olarak tutulan bu adrese gönderildi.

Agave and Hundred aynı saldırı vektörüne kurban gittiğinde dedik ki;

Bir çatal düştüğünde, diğerlerinin de temellerini hemen kontrol etmesi gerekir.

Voltage Finance bunu yapmadı ve bu yüzden lider tablosunda (#64) yerlerini alarak kötü çarpıldılar.


bu makaleyi paylaş

REKT, anonim yazarlar için halka açık bir platform olarak hizmet eder, REKT'te bulunan görüşler veya içerik için hiçbir sorumluluk kabul etmiyoruz.

bağış yap (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C

sorumluluk reddi:

REKT, Web Sitemizde veya hizmetlerimizle bağlantılı olarak web sitemizin ANON yazarı veya REKT tarafından gönderilen, yayınlanan veya neden olunan hiçbir içerikten hiçbir şekilde sorumlu veya yükümlü değildir. Anon yazarın davranışları ve gönderileri için kurallar sağlamamıza rağmen, onun web sitemizde veya hizmetlerimizde yayınladığı, ilettiği veya paylaştığı şeylerden sorumlu değiliz veya web sitemizde ve hizmetlerimizde karşılaşabileceğiniz herhangi bir saldırgan, uygunsuz, müstehcen, yasa dışı veya başka şekilde sakıncalı olan içerikten sorumlu değiliz. REKT, Web Sitemizin veya Hizmetlerimizin herhangi bir kullanıcısının çevrimiçi veya çevrimdışı davranışlarından sorumlu değildir.