Back to Blog

Haftalık Web3 Güvenlik Olayları Özeti | 25 Ocak – 1 Şubat 2026

Code Auditing
February 4, 2026
13 min read

Geçen hafta (25 Ocak - 1 Şubat 2026) BlockSec, toplam tahmini kaybı yaklaşık $18,05 milyon olan altı saldırı olayını tespit edip analiz etti. Aşağıdaki tablo bu olayları özetlemekte olup her bir olayın ayrıntılı analizi izleyen alt bölümlerde sunulmaktadır.

Tarih Olay Tür Tahmini Kayıp
2026/01/25 SwapNet Olayı Yetersiz girdi doğrulaması ~$13,41M
2026/01/25 Aperture Finance Olayı Yetersiz girdi doğrulaması ~$3,67M
2026/01/27 PGNLZ Olayı Token tasarım hatası ~$100K
2026/01/28 XPlayer Olayı Token tasarım hatası ~$717K
2026/01/28 Holdstation Olayı Anahtar ele geçirme ~$100K
2026/01/30 Revert Finance Olayı İş mantığı hatası ~$50K

1. SwapNet Olayı

Kısa Özet

25 Ocak 2026'da Base, BSC ve Arbitrum üzerindeki SwapNet protokolü saldırıya uğramış ve yaklaşık 13,41 milyon dolar kayıp yaşanmıştır. Olay, kullanıcı tarafından sağlanan girdilerin yetersiz biçimde doğrulanmasından kaynaklanmış; bu durum saldırganın, saldırgan kontrolündeki parametrelerle transferFrom() çağıran istekler oluşturmasına olanak tanımıştır. Mevcut token onaylarını kötüye kullanan saldırgan, token.transferFrom(kurban, saldırgan, miktar) biçiminde transferler gerçekleştirerek kurbanların onaylı varlıklarını boşaltmayı başarmıştır.

Arka Plan

SwapNet protokolü, AMM'ler ve özel piyasa yapıcılar dahil birden fazla zincir üstü kaynaktan likidite toplayarak optimal takas rotaları bulan bir DEX toplayıcısıdır. Protokol ayrıca kullanıcıların takas gerçekleştirirken özel yönlendirici veya havuz belirlemelerine izin vererek ek esneklik sunmaktadır.

Güvenlik Açığı Analizi

Bu olay, kullanıcı tarafından sağlanan girdilerin yetersiz doğrulanmasından kaynaklanmakta ve saldırganın rastgele parametrelerle transferFrom() çağrılarını tetiklemesine olanak tanımaktadır. Bunun sonucunda, kurban sözleşmelerine (örn. 0x616000e384Ef1C2B52f5f3A88D57a3B64F23757e) önceden onaylanmış varlıklar saldırgana aktarılabilmektedir.

Ayrıştırılmış bayt koduna göre 0x87395540() fonksiyonu, kritik girdiler üzerinde yeterli doğrulama yapmamaktadır. Beklenen yönlendirici veya havuz adresi yerine bir token adresi (örn. USDC) kullanılarak sözleşme, token'ı geçerli bir yürütme hedefi olarak yanlış değerlendirmektedir. Bu durum, saldırgan kontrolündeki çağrı verisiyle düşük seviyeli bir çağrının yürütülmesine yol açmaktadır.

Sonuç olarak kurban sözleşmesi, onaylananVarlık.transferFrom(kurban, saldırgan, miktar) biçiminde çağrılar gerçekleştirmekte ve saldırganın onaylı tüm varlıkları boşaltmasına imkân tanımaktadır.

Saldırı Analizi

SwapNet'e yönelik birden fazla saldırı gözlemlenmiştir. Örnek olarak Base işlemi 0xc15df1d131e98d24aa0f107a67e33e66cf2ea27903338cc437a3665b6404dd57 kullanılmaktadır. Saldırgan, kurban sözleşmesinin 0x87395540() fonksiyonunu kötü amaçlı girdilerle çağırmıştır. Bu çağrı iki ana adımdan oluşmaktadır.

  1. Bir anahtar dahili değişken (örn. v51) USDC olarak ayarlanarak amaçlanan yönlendirme mantığı atlatılmıştır.
  1. Saldırgan kontrolündeki çağrı verisi kullanılarak düşük seviyeli bir çağrı yürütülmüş, bunun sonucunda USDC.transferFrom() tetiklenmiş ve onaylanan tüm USDC boşaltılmıştır.

Sonuç

Olay, kullanıcı tarafından sağlanan girdilerin yetersiz doğrulanmasından kaynaklanmaktadır; fonksiyona uygun girdi parametresi kontrolleri eklenmesi bu sorunu hafifletmeye yardımcı olacaktır.


2. Aperture Finance Olayı

Kısa Özet

25 Ocak 2026'da Ethereum, Base ve Arbitrum üzerindeki Aperture protokolü saldırıya uğramış ve yaklaşık 3,67 milyon dolar kayıp yaşanmıştır. Temel neden, kullanıcı tarafından sağlanan girdilerin yetersiz doğrulanmasıydı; bu durum saldırganın, 0x1d33() dahili fonksiyonu aracılığıyla rastgele parametrelerle transferFrom() çağrılarını tetiklemesine olanak tanıdı. Bunun sonucunda saldırgan, onaylananToken.transferFrom(kurban, saldırgan, miktar) biçiminde çağrılar gerçekleştirerek onaylı tüm varlıkları boşaltmayı başardı.

Arka Plan

Aperture Finance, kullanıcılar adına Uniswap V3 LP'leri gibi yoğunlaştırılmış likidite pozisyonlarını yöneten bir DeFi protokolüdür. Kapalı kaynak kodlu sözleşmeleri (örn. 0xD83d960deBEC397fB149b51F8F37DD3B5CFA8913), kullanıcıların yerel token'lar kullanarak Uniswap V3 pozisyonları oluşturmasına ve yönetmesine olanak tanır.

Uniswap V3 Pozisyonu Oluşturma için Amaçlanan İş Akışı

0x67b34120() fonksiyonu aracılığıyla Uniswap V3 pozisyonu oluştururken sözleşme üç adımlı bir iş akışı izler:

  1. Yerel token'ları sar

  2. Sarılmış token'ları 0x1d33() dahili fonksiyonu aracılığıyla takas et

  3. UniswapV3 pozisyonlarını oluştur

Sorun 2. adımda ortaya çıkmaktadır: 0x1d33() dahili fonksiyonu, düşük seviyeli bir çağrı aracılığıyla özelleştirilmiş bir takas gerçekleştirmekte; burada kritik parametreler (örn. çağrı hedefi ve çağrı verisi) kullanıcı kontrolünde görünmekte ve yetersiz biçimde doğrulanmakta, bu da istenmeyen dış çağrılara zemin hazırlamaktadır. Daha fazla ayrıntı aşağıdaki bölümlerde sunulmaktadır.

Güvenlik Açığı Analizi

Olay, düşük seviyeli çağrılarda yetersiz girdi doğrulamasından kaynaklanmaktadır. 0x67b34120() fonksiyonu çağrıldığında, 0x1d33() dahili fonksiyonu, çağrı hedefi veya fonksiyon seçicisi üzerinde katı kısıtlamalar uygulamaksızın kullanıcı tarafından sağlanan çağrı verisini kullanarak düşük seviyeli bir çağrı yürütmektedir.

Aşağıdaki şekilde gösterildiği gibi, düşük seviyeli çağrıyı tetiklemek için kullanılan çağrı verisi tamamen saldırganın girdilerine dayanmaktadır.

Bu durum, saldırganların kurban sözleşmesinin bağlamında onaylananToken.transferFrom(kurban, saldırgan, miktar) sonucunu doğuracak kötü amaçlı çağrı verisi oluşturmasına olanak tanımaktadır. Sonuç olarak yalnızca ERC20 token'ları değil, onaylanmış Uniswap V3 pozisyon NFT'leri de boşaltılabilmektedir.

Saldırı Analizi

Aperture Finance'e yönelik birden fazla saldırı gözlemlenmiştir. Bu bölümde temsili örnek olarak Ethereum işlemi 0x8f28a7f604f1b3890c2275eec54cd7deb40935183a856074c0a06e4b5f72f25a kullanılmaktadır.

  1. Saldırgan, 0x5c92884dFE0795db5ee095E68414d6aaBf398130 adresli bir saldırı sözleşmesi oluşturdu.

  2. Saldırı sözleşmesi, kötü amaçlı girdiler ve 100 wei ETH (yani msg.value == 100) ile 0x67b34120() fonksiyonunu çağırdı.

  • a. Yerel ETH'ler WETH.deposit() fonksiyonu aracılığıyla WETH'e dönüştürüldü.
  • b. Düşük seviyeli bir çağrı gerçekleştirmek için 0x1d33() dahili fonksiyonu çağrıldı. Bu adımda, kurban sözleşmesinin bağlamında WBTC.transferFrom(kurban, saldırgan, miktar) çağrısı yapılarak saldırganın onaylı token'ları boşaltması sağlandı. Özellikle belirtmek gerekir ki 0x1d33() fonksiyonunun sonunda bir bakiye kontrolü geçildi. Fonksiyon 0x1d33(), bakiye değişikliklerini yine saldırgan tarafından belirtilen takas çıktı değeriyle (yani varg2.word2) karşılaştırdı. Sonuç olarak işlemler hiçbir şey alınmadan başarıyla yürütüldü.
  • c. Son olarak, NonfungiblePositionManager.mint() fonksiyonu, saldırgan için 100 wei WETH kullanarak bir pozisyon oluşturmak amacıyla çağrıldı.

İlginç Bulgular

Normal ve anormal oluşturma işlemleri karşılaştırıldığında, her iki işlemin de token'ları aynı harcayıcıya (örn. OKX DEX: TokenApprove) onayladığı ancak farklı yönlendirici adresleri belirttiği (yani DexRouter ve WBTC) gözlemlendi. Bu durum, sözleşmenin onay harcayıcısı üzerinde doğrulama yapmasına karşın gerçek yürütme hedefini doğrulamayı ihmal ettiğine ve bunun rastgele çağrılar yoluyla istismar edilebilecek kritik bir açık bıraktığına işaret etmektedir.

Normal işlem: tx bağlantı1

Anormal işlem: tx bağlantı2

Sonuç

Olay, kullanıcı tarafından sağlanan girdilerin yetersiz doğrulanmasından kaynaklanmaktadır. Uygun girdi doğrulamaları eklenmesi bu sorunu hafifletmeye yardımcı olacaktır.


3. PGNLZ Olayı

Kısa Özet

27 Ocak 2026'da BNB Smart Chain üzerindeki PancakeSwap V2 USDT–PGNLZ havuzu saldırıya uğramış ve yaklaşık 100 bin dolar kayıp yaşanmıştır. Temel neden, saldırganın PGNLZ token'larını doğrudan havuzun bakiyesinden yakmasına olanak tanıyan PGNLZ token'ındaki hatalı yakma mekanizmasıydı. Bu durum, havuzun PGNLZ rezervlerini yapay olarak azaltarak keskin bir rezerv dengesizliğine yol açtı ve zincir üstü fiyatı çarpıttı. Saldırgan daha sonra manipüle edilen fiyatı kullanarak havuzdan USDT boşaltan takaslar gerçekleştirdi.

Arka Plan

PGNLZ token'ı, bir PancakeSwap V2 havuzunu hedef alan bir yakma mekanizması sunmaktadır. Yakma mekanizması belirli koşullar altında tetiklenebilmektedir. Özellikle, havuzdaki her satın alımda token, havuzun USDT bakiyesinin önceden belirlenmiş bir eşiğe ulaşıp ulaşmadığını kontrol etmektedir. Eşiğe ulaşıldığında havuzdan belirli miktarda PGNLZ yakar ve tradingEnabled = true olarak ayarlayarak normal kullanıcıların bundan sonra havuzla etkileşime geçmesini sağlar. İşlem modu etkinleştirildiğinde ve bir kullanıcı havuzda PGNLZ sattığında, token önce bir önceki kullanıcının PGNLZ satış miktarına göre havuzun elindeki PGNLZ miktarını yakar.

Güvenlik Açığı Analizi

Temel sorun, fiyat manipülasyonu saldırısına karşı savunmasız olan PGNLZ token'ının hatalı yakma mekanizmasıydı. Özellikle, saldırganın alıcıyı isExcludedFromFee adresi (yani 0xdEaD) olarak ayarlayarak işlem modu kısıtlamasını atlatmasına ve havuzun rezervlerini manipüle etmesine (yani PGNLZ satın almasına) izin verilmektedir. Ardından saldırgan, havuzdan doğrudan PGNLZ yakmak için yakma mekanizmasından (yani _executeBurnFromLP() fonksiyonu aracılığıyla) yararlanarak havuzun rezervlerini daha da manipüle etmektedir. Sonuç olarak saldırgan, manipüle edilmiş havuzda ters takas (yani PGNLZ satma) gerçekleştirerek kâr elde edebilmektedir.

Saldırı Analizi

Aşağıdaki analiz şu işleme dayanmaktadır: 0xc7270212846136f3d103d1802a30cdaa6f8f280c4bce02240e99806101e08121

  1. Saldırgan, Moolah'ta flaş kredi aracılığıyla 1.059e18 BTCB ödünç aldı ve Venus'te 1.059e18 BTCB teminat göstererek 30.000.000e18 USDT ödünç aldı.

  2. Saldırgan, işlem modu devre dışıyken PancakeSwap V2 havuzunda 23.337.952e18 USDT ile 978.266e18 PGNLZ satın aldı. Saldırgan, alıcıyı 0xdEaD olarak ayarlayarak ilgili doğrulamaları atlattı ve takası mümkün kıldı.

  3. Saldırgan, daha önce sahip olduğu 17e18 PGNLZ'yi PancakeSwap V2 havuzunda USDT ile takas etti. Bu takas sırasında _executeBurnFromLP() fonksiyonu tetiklenerek havuzdan 4.240e18 PGNLZ yakıldı (yani önceki PGNLZ satış miktarına göre). Bu yakma işlemi, havuzun rezervini yalnızca 0,00000001e18 PGNLZ olarak bırakarak havuzun PGNLZ rezervini daha da manipüle etti. Tükenen PGNLZ rezerviyle saldırgan, yalnızca 17e18 PGNLZ ile havuzdan 23.438.853e18 USDT boşaltmayı başardı.

  4. Saldırgan, Venus'teki pozisyonu kapattı ve sonuç olarak 100.901e18 USDT kâr elde etti.

Sonuç

Bu olayın temel nedeni, saldırganların bir fiyat manipülasyonu saldırısı gerçekleştirerek havuzdan USDT boşaltmasına olanak tanıyan PGNLZ'nin hatalı yakma mekanizmasından kaynaklanmaktadır. Sonuç olarak olay, yaklaşık 100 bin dolarlık toplam kayba yol açmıştır. Bu tür sorunları azaltmak için proje, sistem içinde uygun erişim kontrolleri uygulamalı ve potansiyel fiyat manipülasyonu saldırılarını önlemek amacıyla yakma mekanizmasının kapsamlı testlerini gerçekleştirmelidir.


4. XPlayer Olayı

Kısa Özet

28 Ocak 2026'da BNB Smart Chain üzerindeki PancakeSwap V2 XPL/USDT havuzu saldırıya uğramış ve yaklaşık 717 bin dolar kayıp yaşanmıştır. Olay, saldırganın XPL token'larını doğrudan havuzun bakiyesinden yakmasına olanak tanıyan XPL token'ındaki hatalı yakma mekanizmasından kaynaklanmıştır. Havuzun XPL rezervlerini yapay olarak azaltan saldırgan ciddi bir rezerv dengesizliği yarattı ve takas fiyatını çarpıttı; ardından manipüle edilmiş fiyatı havuzdan USDT boşaltmak için kullandı.

Arka Plan

XPL token'ı, ilgili havuzdan XPL token'larını yakan ve ardından havuzun rezervlerini yenilemek için sync() fonksiyonunu çağıran bir yakma mekanizması sunmaktadır. Özellikle NodeDistributePlus sözleşmesinde, DynamicBurnPool() fonksiyonu bir yürütme penceresi içinde günlük yakma görevini gerçekleştirmek amacıyla çağrılabilir. Yakma miktarı, kalan günlük yakma tavanını aşmamalıdır.

Güvenlik Açığı Analizi

Bu olayın temel nedeni, XPL sözleşmesinin hatalı yakma mekanizmasından kaynaklanmaktadır. Özellikle XPL sözleşmesindeki DynamicBurnPool() fonksiyonu, belirli ayrıcalıklı adreslerin XPL'yi doğrudan likidite çiftinden yakmasına izin vermektedir.

Bu ayrıcalıklı adreslerden biri, günlük yakma çizelgesi uygulayan NodeDistributePlus sözleşmesidir (yani nodeShareAddress). Ayrıcalıklı bir hesap günlük yakma hedefini belirledikten sonra, herhangi bir çağırıcı günlük yakma tavanına ulaşılana kadar 2 günlük bir pencere içinde NodeDistributePlus.DynamicBurnPool() fonksiyonunu çağırabilmektedir.

Sonuç olarak bu tasarım, herhangi birinin ilgili havuzdan XPL yakmasına ve zorla rezerv güncellemesi yapmasına olanak tanımaktadır. Saldırgan, havuz rezervlerini manipüle etmek ve havuzdaki USDT'yi boşaltmak amacıyla ters takas gerçekleştirmek için bu tasarımdan yararlanabilmektedir.

Saldırı Analizi

Aşağıdaki analiz şu işleme dayanmaktadır: 0x9779341b2b80ba679c83423c93ecfc2ebcec82f9f94c02624f83d8a647ee2e49

  1. Saldırgan, flaş krediler aracılığıyla yaklaşık 239.523.169e18 USDT ödünç aldı.
  1. Saldırgan, 100e18 USDT ile 69e18 XPL satın aldı. Bu adım, havuzun rezervlerini mevcut bakiyelerle senkronize etti.
  1. Saldırgan, 217.118.801e18 USDT ile yaklaşık 691.022e18 XPL satın aldı. Bu adım, sonraki rezerv manipülasyonuna zemin hazırlamak amacıyla havuz durumunu dikkatli biçimde ayarlamak için boyutlandırıldı.
  1. Saldırgan, havuzdan 3.078e18 XPL yakmak için DynamicBurnPool() fonksiyonunu çağırdı. Bu yakma işlemi, havuzun XPL rezervini son derece küçük bir değere (örn. 1 wei) indirerek daha da manipüle etti.
  1. Saldırgan, manipüle edilmiş rezervlerle 69e18 XPL ile 218.083.490e18 USDT satın aldı.
  1. Saldırgan flaş krediyi geri ödedi ve 718.844e18 USDT kâr elde etti.

Sonuç

Bu olay, herhangi birinin rezervlerini manipüle etmek amacıyla XPL'yi doğrudan havuzdan yakmasına olanak tanıyan hatalı bir yakma mekanizmasından kaynaklanmaktadır. Sonuç olarak bu hatalı tasarım, saldırganların havuzdaki değerli varlıkları boşaltmak için fiyat manipülasyonu saldırısı gerçekleştirmesine olanak tanımaktadır. Benzer sorunları azaltmak için projeler, varlıkların havuzdan rastgele yakılmasını önlemelidir.


5. Holdstation Olayı

Kısa Özet

28 Ocak 2026'da Holdstation, proje kontrolündeki bir cüzdanın ele geçirilmesini içeren bir güvenlik ihlali bildirdi ve toplam tahmini kayıp yaklaşık 100 bin dolar oldu. Saldırgan, World Chain, BSC, Berachain ve zkSync üzerinde WLD, USD1, BNB ve BERA dahil yaklaşık 66 bin dolar değerinde çeşitli varlıkları boşalttı; ardından elde ettiği gelirleri Ethereum üzerinde yaklaşık 22,41 ETH olarak birleştirdi ve bunları yaklaşık 0,755 BTC'ye dönüştürerek Bitcoin'e köprüledi. Olayın, bir ekip üyesinin cihazının kötü amaçlı bir IDE veya tarayıcı uzantısı aracılığıyla ele geçirilmesinden kaynaklandığı ve bunun cüzdan ele geçirilmesine yol açtığı bildirildi.

Güvenlik Açığı Analizi

İhlal, bir çekirdek geliştirici tarafından yüklenen kötü amaçlı bir kodlama veya tarayıcı uzantısından kaynaklanmış olup operasyonel düzeyde insan hatasını temsil etmektedir. Özellikle geliştirici, hesap ele geçirilmesine ve mali kayıplara yol açan kötü amaçlı ve güvenilmez bir IDE/tarayıcı uzantısı yüklemiştir.

Saldırı Analizi

İlgili adresler ve köprüleme işlemleri aşağıda listelenmiştir:

Saldırgan Adresleri

  • 0x54e127b8dbf3bebf64bb1d62a195a6f60113130d
  • 0x9d3a398cc667b97841a2a92ba808ee8dd368a1f2
  • bc1qykmc6mllm3s4zpldww764v6vcgtqwshyw02k9c

Kurban Adresleri

  • (World Chain) 0xa92e09e0a52b7EdEaD75d3125e21bDFB9752C69e
  • (World Chain) 0xD768da05e0E6771Ea81b441026CE9355421eF7c9
  • (World Chain) 0xA581ED1dEB42E8496E5275468C79D250b91d6a75
  • (World Chain) 0x9BD647B2C8Fed689ADd2e7AA8b428d3eD12f75cb
  • (BSC) 0x2Edf158DDCe35733d6f7D9D7227610ca0531f0AD
  • (BSC) 0xA581ED1dEB42E8496E5275468C79D250b91d6a75
  • (Bera Chain) 0xA581ED1dEB42E8496E5275468C79D250b91d6a75
  • (Bera Chain) 0x628cEf732301aDF6d62bB2bcDFeBB291750C4D9a
  • (zkSync) 0xA581ED1dEB42E8496E5275468C79D250b91d6a75
  • (zkSync) 0x8C826F795466E39acbfF1BB4eEeB759609377ba1
  • (zkSync) 0x4Cf7baB01b8D3572b3dC08642ebbE2AD1aCF3B99
  • (zkSync) 0x2Edf158DDCe35733d6f7D9D7227610ca0531f0AD
  • (zkSync) 0x2D2D047c50d7828Aedb6A151bA1717766606Bf33

Köprüleme İşlemleri

Sonuç

Bu olayın temel nedeni bir anahtar ele geçirilmesinden kaynaklanmaktadır. Özellikle çekirdek sözleşmelerdeki önemli rollerle (örn. sahip) ilişkili yönetici anahtarları dikkatli bir şekilde yönetilmelidir. Tek hata noktalarını önlemek ve sistemik sağlamlığı artırmak için çoklu imza cüzdanları kullanılması tavsiye edilmektedir.


6. Revert Finance Olayı

Kısa Özet

30 Ocak 2026'da Base üzerindeki Revert Finance saldırıya uğramış ve yaklaşık 50 bin dolar kayıp yaşanmıştır. Temel neden, saldırganın karşılık gelen borcu geri ödemeden teminatı çekmesine olanak tanıyan GaugeManager sözleşmesindeki bir iş mantığı hatasıydı. executeV3UtilsWithOptionalCompound() fonksiyonunu kötüye kullanan saldırgan, amaçlanan borç geri ödeme akışını atlattı ve fonları çıkardı.

Arka Plan

Revert Finance, Otomatik Piyasa Yapıcı (AMM) likidite sağlayıcıları (LP'ler) için tasarlanmış kapsamlı bir araç platformudur. LP'lerin sermaye verimliliğini ve risk kontrolünü artırmasına yardımcı olmak amacıyla öncelikli olarak analiz, yönetim, otomasyon ve borç verme özellikleri sunmaktadır.

Protokolde kullanıcılar, Revert Finance'ın borç verme havuzlarından varlık ödünç almak için Uniswap v3 pozisyonlarını teminat olarak yatırabilmektedir. Ek olarak protokol, teminat olarak kullanılan pozisyonlarını stake eden kullanıcıların stakePosition() fonksiyonu aracılığıyla ekstra ödüller kazanmasına imkân tanımaktadır.

Güvenlik Açığı Analizi

Olayın temel nedeni, teminat olarak kullanılan pozisyonların stake'ten çıkarılması sırasında ödeme gücü kontrolünün yapılmamasıydı. Özellikle executeV3UtilsWithOptionalCompound() fonksiyonu, kullanıcıların ilgili bir talimat belirterek (yani whatToDo = 1) bir pozisyonun stake'ini kaldırmasına olanak tanımaktadır. Ancak bu fonksiyon, teminatlandırılmış pozisyonların stake'ten çıkarılması sırasında ödeme gücü kontrolü yapmamaktadır. Bunun sonucunda saldırgan, bekleyen borçları ödemeden teminatlandırılmış bir pozisyonu geri alabilmektedir.

Saldırı Analizi

Aşağıdaki analiz şu işleme dayanmaktadır: 0x10429eaeb479f9149854e4aeb978a35ac02d9688f6e22371712b3878c63a64ab

  1. Saldırgan, bir pozisyon (yani NFT) oluşturmak amacıyla flaş kredi aracılığıyla 10e8 cbBTC ve 10.000.000e6 USDC ödünç aldı.

  2. Saldırgan, NFT'yi teminat olarak rehin etti ve 49.000e6 USDC ödünç aldı.

  3. Saldırgan, teminatlandırılmış NFT'yi stakePosition() fonksiyonu aracılığıyla stake etti.

  4. Saldırgan, executeV3UtilsWithOptionalCompound() fonksiyonunu kullanarak teminatlandırılmış NFT'nin stake'ini anında kaldırdı. Özellikle teminatlandırılmış pozisyon yakıldı ve ilgili temel varlıklar saldırgan tarafından toplandı. Stake kaldırma sürecinde ödeme gücü kontrollerinin bulunmaması nedeniyle teminatlandırılmış pozisyon, karşılık gelen borçlar kapatılmadan yakıldı.

  1. Saldırgan flaş krediyi geri ödedi ve 49.000e6 USDC kâr elde etti.

Sonuç

Olayın temel nedeni, teminatlandırılmış pozisyonların stake'ten çıkarılması sırasında ödeme gücü kontrolünün yapılmamasıdır. Bu olay, borç verme benzeri protokollerde ödeme gücü kontrollerinin önemini vurgulamaktadır. İstikrarı ve güvenilirliği sağlamak için pozisyonun her kullanımında sağlam ödeme gücü önlemlerinin uygulanması büyük önem taşımaktadır.


Referanslar

[1] SwapNet & Aperture https://blocksec.com/blog/17m-closed-source-smart-contract-exploit-arbitrary-call-swapnet-aperture

[2] PGNLZ: https://x.com/Phalcon_xyz/status/2016154398817505595

[3] XPlayer: X Player Official https://x.com/XPlayer_Media/status/2016700861578403910

[4] XPlayer: X Blocksec Phalcon https://x.com/Phalcon_xyz/status/2016521384609067103

[5] Holdstation: https://x.com/Phalcon_xyz/status/2016823122373296583

[6] Revert Finance: https://paragraph.com/@revertfinance/post%E2%80%91mortem-aerodrome-lend-vault-incident-on-base?referrer=0x8cadb20A4811f363Dadb863A190708bEd26245F8


BlockSec Hakkında

BlockSec, tam yığın blok zinciri güvenliği ve kripto uyumluluk sağlayıcısıdır. Müşterilerin protokollerin ve platformların tam yaşam döngüsü boyunca kod denetimi (akıllı sözleşmeler, blok zinciri ve cüzdanlar dahil) gerçekleştirmesine, saldırıları gerçek zamanlı olarak önlemesine, olayları analiz etmesine, yasadışı fonları izlemesine ve AML/CFT yükümlülüklerini yerine getirmesine yardımcı olan ürünler ve hizmetler geliştirmektedir.

BlockSec, prestijli konferanslarda birden fazla blok zinciri güvenlik makalesi yayımlamış, DeFi uygulamalarına yönelik çeşitli sıfırıncı gün saldırıları bildirmiş, 20 milyonun üzerinde doları kurtarmak için birden fazla saldırıyı engellemiş ve milyarlarca kripto para birimini güvence altına almıştır.

Best Security Auditor for Web3

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

BlockSec Audit