SlowMist: สาเหตุหลักของการโจมตี Yearn คือการดำเนินการทางคณิตศาสตร์ที่ไม่ปลอดภัยในสัญญาพูล yETH ของ Yearn
SlowMist ระบุว่า โปรโตคอลการเงินแบบกระจายศูนย์อย่าง Yearn ถูกแฮ็กเกอร์โจมตีเมื่อวันที่ 1 ธันวาคม ส่งผลให้สูญเสียเงินประมาณ 9 ล้านดอลลาร์ ทีมรักษาความปลอดภัยของ SlowMist ได้วิเคราะห์เหตุการณ์ดังกล่าวและยืนยันสาเหตุที่แท้จริงดังต่อไปนี้
ช่องโหว่นี้เกิดจากตรรกะของฟังก์ชัน `_calc_supply` ที่ใช้ในการคำนวณอุปทานในสัญญา Yearn yETH Weighted Stableswap Pool เนื่องจากการดำเนินการทางคณิตศาสตร์ที่ไม่ปลอดภัย ฟังก์ชันนี้จึงทำให้เกิดข้อผิดพลาดจากการล้นและการปัดเศษระหว่างการคำนวณ นำไปสู่ความคลาดเคลื่อนอย่างมีนัยสำคัญในการคำนวณผลคูณของอุปทานใหม่และยอดคงเหลือเสมือน ผู้โจมตีสามารถใช้ช่องโหว่นี้เพื่อควบคุมสภาพคล่องให้มีค่าตามที่กำหนดและสร้างโทเค็นใน Liquidity Pool (LP) มากเกินไป ซึ่งอาจนำไปสู่การแสวงหาผลประโยชน์อย่างผิดกฎหมาย
ขอแนะนำให้เสริมการทดสอบสถานการณ์ขอบเขตและนำกลไกการดำเนินการเลขคณิตที่ตรวจสอบอย่างปลอดภัยมาใช้เพื่อป้องกันช่องโหว่ที่มีความเสี่ยงสูง เช่น การล้นในโปรโตคอลที่คล้ายคลึงกัน
ก่อนหน้านี้ Yearn ได้ออกแถลงการณ์ระบุว่าพูลเสถียร yETH ของตนถูกโจมตีเมื่อเวลา 21:11 น. ตามเวลา UTC ของวันที่ 30 พฤศจิกายน ผู้โจมตีได้สร้าง yETH จำนวนมากผ่านสัญญาแบบกำหนดเอง ส่งผลให้สูญเสียสินทรัพย์ในพูลประมาณ 8 ล้านดอลลาร์สหรัฐฯ นอกจากนี้ ยังมีการสูญเสียอีก 900,000 ดอลลาร์สหรัฐฯ จากพูล yETH-WETH บน Curve
