CertiK โพสต์บนโซเชียลมีเดียว่ามีช่องโหว่ที่ถูกโจมตีโดย KyberSwap ในการใช้งานฟังก์ชัน computeSwapStep() ของ KyberSwap Elastic ฟังก์ชันนี้จะคำนวณจำนวนอินพุต/เอาท์พุตการแลกเปลี่ยนจริงที่จะหักหรือเพิ่ม ค่าธรรมเนียมการแลกเปลี่ยนที่จะเรียกเก็บ และ sqrtP ผลลัพธ์ ขั้นแรกฟังก์ชันจะเรียกใช้ฟังก์ชัน calcReachAmount() โดยสรุปว่าการแลกเปลี่ยนของผู้โจมตีจะไม่ข้ามเครื่องหมายถูก แต่สร้างราคาที่ใหญ่กว่า targetSqrtP เล็กน้อยโดยไม่ได้ตั้งใจซึ่งคำนวณโดยการเรียก "calcFinalPrice" ดังนั้นสภาพคล่องจึงไม่ถูกลบออกไปจนนำไปสู่การถูกโจมตี ผู้โจมตีดำเนินการคำนวณที่ซับซ้อนกับกลุ่มสภาพคล่องในช่วง Tick ที่ว่างเปล่า โดยใช้ประโยชน์จากการนับสภาพคล่องข้ามการแลกเปลี่ยน ทำลายกลุ่ม KyberSwap จำนวนมากที่มีสภาพคล่องต่ำ
ความคิดเห็นทั้งหมด