Back to Blog

Vee Finance Güvenlik Olayının Gerçek Temel Nedeni

Code Auditing
22 Eylül 2021
3 min read

VEE Finance, son güvenlik olayıyla ilgili bir rapor yayımladı. Raporda, temel nedenin "Vee Finance oracle makinesinin fiyatının manipüle edilmesi ve oracle makine fiyatının alınmasının ondalıklar için işlenmemesi, bu nedenle takas öncesinde beklenen kayma kontrolünün çalışmaması" olduğunu belirtiyorlar.

"Olayın temel nedeni, kaldıraçlı işlem için emir oluşturma sürecinde, oracle tarafından yalnızca Pangolin havuzunun fiyatının fiyat akışı kaynağı olarak kullanılması ve havuz fiyatının %3'ten fazla dalgalanmasıydı. Oracle fiyatı yeniledi ve bu durum saldırganın Pangolin havuzunun fiyatını manipüle etmesine neden oldu. Vee Finance oracle makinesinin fiyatının manipüle edilmesi ve oracle makine fiyatının alınması ondalıklar için işlenmedi, bu da takasdan önce beklenen kayma kontrolünün çalışmamasına yol açtı." — VEE Finance tarafından yayımlanan rapordan alıntı.

Ancak dikkatli incelememizin ardından bunun DOĞRU OLMAYABILECEĞINI tespit ettik. Gerçek neden şudur: saldırgan SAHTE bir ctokenB oluşturarak bunu sözleşmeye geçirir. ctokenB saldırgan tarafından kontrol edildiğinden, token fiyatını hesaplamak için kullanılan rastgele bir temel token döndürebilir. Bu, saldırının gerçek kök nedenidir.

Sürecin Tamamı

createOrderERC20ToERC20 adlı harici bir fonksiyon, herhangi bir kullanıcı tarafından, teminatı sözleşmeye koyarak elde edilen ctoken'ı kullanarak bir token takası oluşturmak amacıyla çağrılabilir. ctoken'ın, gerçek token'ı temsil eden bir temel token'ı vardır.

Normal bir durumda, kaldıraç kullanarak bir token çifti işlemi gerçekleştirmek amacıyla createOrderERC20ToERC20 çağrıldığında, dapp'in işlemin herhangi bir kayba yol açmayacağından emin olması gerekir (aksi takdirde dapp para kaybeder). Bu durum, getAmountOutMin fonksiyonu çağrılarak zorunlu kılınır.

Diyelim ki dapp'e 0.95 ETH koyduk ve 0.5 ETH değerinde bir ctoken elde ettik (Aşırı teminatlandırma). Ardından, kullanıcı adına dapp'ten 1.5 ETH karşılığında başka bir token (örneğin tokenX) işlemi yapmasını istemek için 3 kat kaldıraç kullanabiliriz. Bu durumda, kaybı önlemek için dapp'in işlem gören tokenX değerinin 0.95* 1.5ETH'nin altına düşmemesini sağlaması gerekir (aksi takdirde dapp para kaybetme riskiyle karşı karşıya kalır). Dapp, ETH ve tokenX değerini hesaplamak için harici bir fiyat oracle'ından yararlanır.

Ancak createOrderERC20ToERC20 fonksiyonu, iletilen ctokenB'yi doğrulamaz. Bu nedenle saldırgan, kendi sözleşmesini ctokenB olarak uygulayabilir ve createOrderERC20ToERC20 fonksiyonuna besleyebilir. Sonuç olarak, bu sahte ctokenB, createOrderERC20ToERC20 ve getAmountOutMin içinde çağrıldığında temel token'ı LINK (0x5947bb275c521040051d82396192181b413227a3) olarak döndürebilir; ancak IPriceOracle(oracle).getUnderlyingPrice(createParams.ctokenB) içinde çağrıldığında temel token'ı BTC olarak döndürebilir. Böylece isRightPrice kontrolünü atlayabilir — zira fiyatı hesaplamak için kullanılan token BTC'dir (LINK değil). Bu durum, priceB'nin döndürülen değeriyle doğrulanabilir — 0x15e1549d1216fe9fc032e7c00000 (443783124870000000000000000000000). Bu, BTC'nin fiyatıdır.

Sonuç

Özetle, saldırgan ctokenB'nin eksik doğrulamasından yararlanır. ctokenB güvenilir bir kaynak olmadığından, ctokenB tarafından döndürülen temel token'a güvenilemez. Ancak fiyat oracle'ı bu saldırıda ele geçirilmemiştir.

Çıkarımlar

Bir DeFi projesini güvenli kılmak kolay bir iş değildir. Kod denetiminin yanı sıra, topluluğun proje durumunu izlemek için proaktif bir yöntem benimsemesi ve saldırı gerçekleşmeden önce engellenmesi gerektiğini düşünüyoruz.

BlockSec Hakkında

BlockSec, 2021 yılında küresel alanda tanınan bir grup güvenlik uzmanı tarafından kurulmuş öncü bir blok zinciri güvenlik şirketidir. Şirket, kitlesel benimsenmesini kolaylaştırmak amacıyla gelişmekte olan Web3 dünyasının güvenliğini ve kullanılabilirliğini artırmayı taahhüt etmektedir. Bu doğrultuda BlockSec; akıllı sözleşme ve EVM zinciri güvenlik denetimi hizmetleri, güvenli geliştirme ve tehditleri proaktif olarak engellemeye yönelik Phalcon platformu, fon takibi ve soruşturma için MetaSleuth platformu ve kripto dünyasında verimli gezinen web3 geliştiricileri için MetaSuites eklentisini sunmaktadır.

Bugüne kadar şirket, MetaMask, Uniswap Foundation, Compound, Forta ve PancakeSwap gibi 300'den fazla saygın müşteriye hizmet vermiş; Matrix Partners, Vitalbridge Capital ve Fenbushi Capital gibi önde gelen yatırımcılardan iki tur finansmanda onlarca milyon ABD doları almıştır.

Resmi web sitesi: https://blocksec.com/

Resmi Twitter hesabı: https://twitter.com/BlockSecTeam

Sign up for the latest updates
Yaklaşık 5,57 milyon USD Kayıp: X100 Freezer ve NEM İstismarları | BlockSec Haftalık Bülteni
Security Insights

Yaklaşık 5,57 milyon USD Kayıp: X100 Freezer ve NEM İstismarları | BlockSec Haftalık Bülteni

Bu haftalık rapor, 19.10.2026–25.10.2026 tarihleri arasında Ethereum ve BNB Chain'de yaşanan iki güvenlik olayını ele alıyor. X100 Freezer'ın flaş krediyle finanse edilen yönetişim kontrolünün ele geçirilmesini ve BNB Chain'deki bir NEM tokeninin likidite havuzunu etkileyen vergi hesaplaşması kusurunu inceliyor. Raporun kapsamındaki tahmini kayıplar toplam yaklaşık 5,57 milyon USD: temsili X100 işleminden ~4,75 milyon USD, NEM havuzu olayından ise ~820 bin USD. Bu toplama, ayrıca bildirilen sonraki X100 fon çıkışları dahil değil.

Yaklaşık 3,87 milyon USD kayıp: Autheo Network ve UNCX saldırıları | BlockSec Haftalık Bülteni
Security Insights

Yaklaşık 3,87 milyon USD kayıp: Autheo Network ve UNCX saldırıları | BlockSec Haftalık Bülteni

Bu haftalık rapor, 12.10.2026–18.10.2026 tarihleri arasındaki 3 güvenlik olayını ve toplamda yaklaşık 3,87 milyon USD tutarındaki tahmini kaybı ele alıyor. Autheo Network, yaklaşık 1,76 milyon USD tutarında kayba yol açan bir özel anahtar ele geçirilmesi olayı yaşadı; Qubic Wallet, zayıf seed oluşturma nedeniyle yaklaşık 1,30 milyon USD kaybetti. UNCX Network’ün Smart Token Vesting V2 sözleşmelerinde ise Ethereum, BNB Chain, Base ve Robinhood Chain üzerinde yaklaşık 807 bin USD tutarında bir muhasebe hatası meydana geldi. Öne çıkarılan UNCX analizi, hatalı toplam pay hesaplamasının farklı token/pay oranlarıyla oluşturulan hak ediş dilimlerini nasıl birbirine karıştırdığını ve ortak havuzlardan hak edilenden fazla çekim yapılmasına nasıl olanak tanıdığını açıklıyor.

~542 bin dolar kayıp: MakerDaoBot Açığı | BlockSec Haftalık Bülteni
Security Insights

~542 bin dolar kayıp: MakerDaoBot Açığı | BlockSec Haftalık Bülteni

Ethereum'da 2026/10/05-2026/10/11 döneminde 1 güvenlik olayı yaşandı; kayıp yaklaşık 542 bin $. Kötü amaçlı adaptör, erişim kontrolü olmayan MakerDaoBot işleviyle botun MakerDAO bakiyelerinde yetki aldı; 4 eski ETH-A ihalesini kapatıp 200 ETH-A teminatını WETH'ye çevirdi. WETH, 200 ETH olarak saldırgana gönderildi.

Best Security Auditor for Web3

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

BlockSec Audit