Selamat datang kembali di Sorotan Kerentanan Sherlock, di mana kami menyoroti kerentanan berdampak yang terungkap selama audit Sherlock. Minggu ini, kita memeriksa penolakan layanan yang ditemukan dalam kontes @GMX_IO oleh @0xdeadbeef____ dan @IllIllI000. Kredit untuk @int0x1catedCode untuk kerusakannya.
Ringkasan Kerentanan: Kerentanan ini memungkinkan penyerang untuk memanipulasi alur eksekusi pesanan dengan memberikan panjang alasan pengembalian palsu yang tidak cocok dengan data aktual. Hal ini menyebabkan penanganan kesalahan protokol membaca wilayah memori yang salah, berpotensi mengganggu proses eksekusi atau menyebabkan perilaku tak terduga saat memproses pesanan yang gagal.
Langkah Serangan: 1. Fase Pengaturan Menyebarkan kontrak berbahaya yang menerapkan perilaku pengembalian kustom Kontrak berbahaya harus dapat dipanggil oleh protokol target (misalnya, sebagai penangan callback). 2. Buat Data Pengembalian Berbahaya Struktur mengembalikan data dengan parameter panjang yang dipalsukan. 3. Eksekusi Order Melalui Protokol Buat pesanan yang akan memicu interaksi dengan kontrak berbahaya Ketika protokol memproses pesanan dan memanggil kontrak berbahaya, protokol akan kembali dengan data yang dibuat. Penanganan kesalahan protokol mencoba memecahkan kode alasan pengembalian menggunakan panjang palsu. 4. Memicu Memori Baca Overflow Protokol membaca memori berdasarkan parameter panjang palsu Hal ini menyebabkannya membaca di luar batas data pengembalian yang sebenarnya.
Apa Dampaknya? Penolakan Layanan: Pesanan dapat gagal dieksekusi dengan benar, memblokir operasi protokol yang sah seperti likuidasi posisi buruk Gangguan eksekusi pesanan: Pemrosesan pesanan batch dapat dihentikan, memengaruhi banyak pengguna Griefing gas: Memproses data pengembalian yang salah bentuk dapat mengkonsumsi gas yang berlebihan
Akar penyebabnya: 1. Parameter panjang yang tidak dicentang: Protokol mempercayai nilai panjang yang disediakan dalam mengembalikan data tanpa validasi 2. Pemeriksaan batas yang hilang: Tidak ada verifikasi bahwa panjang yang diklaim cocok dengan ukuran data aktual
Mitigasi: 1. Selalu validasi Kembalikan Panjang Data 2. Terapkan Batas Panjang Maksimum
Kami bangga telah membantu mengamankan @GMX_IO melalui penemuan ini. Ketika benar-benar perlu aman, Sherlock adalah pilihan yang tepat.
Tampilkan Versi Asli
1,76 rb
11
Konten pada halaman ini disediakan oleh pihak ketiga. Kecuali dinyatakan lain, OKX bukanlah penulis artikel yang dikutip dan tidak mengklaim hak cipta atas materi tersebut. Konten ini disediakan hanya untuk tujuan informasi dan tidak mewakili pandangan OKX. Konten ini tidak dimaksudkan sebagai dukungan dalam bentuk apa pun dan tidak dapat dianggap sebagai nasihat investasi atau ajakan untuk membeli atau menjual aset digital. Sejauh AI generatif digunakan untuk menyediakan ringkasan atau informasi lainnya, konten yang dihasilkan AI mungkin tidak akurat atau tidak konsisten. Silakan baca artikel yang terkait untuk informasi lebih lanjut. OKX tidak bertanggung jawab atas konten yang dihosting di situs pihak ketiga. Kepemilikan aset digital, termasuk stablecoin dan NFT, melibatkan risiko tinggi dan dapat berfluktuasi secara signifikan. Anda perlu mempertimbangkan dengan hati-hati apakah trading atau menyimpan aset digital sesuai untuk Anda dengan mempertimbangkan kondisi keuangan Anda.