ข้อบกพร่องในไคลเอนต์ประมวลผลธุรกรรม Ethereum อย่าง Reth อาจทำให้ธุรกรรมบางรูปแบบก่อให้เกิดการคำนวณสถานะบล็อกเชนผิดพลาด ส่งผลให้ Reth, Optimism, Base และ Tempo ประสานกันออกแพตช์ในช่วงวันที่ 5 พฤศจิกายน Georgios Konstantopoulos ประธานเจ้าหน้าที่ฝ่ายเทคโนโลยีของ Paradigm ระบุว่าระบบถอนเงินของเครือข่ายที่เกี่ยวข้องไม่ได้รับผลกระทบ ขณะที่ Base ยืนยันว่าผู้ใช้ไม่ได้รับผลกระทบ แต่ผู้ดูแลโครงสร้างพื้นฐานยังต้องติดตั้งอัปเดต
ข้อผิดพลาดอยู่ที่การคำนวณ state root ของ Reth
ปัญหาเกิดจากโค้ดคำนวณ state root ใน Reth รุ่นเก่า ซึ่งอาจจัดการกรณีเฉพาะของการตั้งค่าพื้นที่จัดเก็บข้อมูลในสมาร์ตคอนแทรกต์ได้ไม่ถูกต้อง State root เป็นลายนิ้วมือเข้ารหัสของสถานะปัจจุบันบนบล็อกเชน ซึ่งรวมทั้งยอดคงเหลือในบัญชีและข้อมูลสมาร์ตคอนแทรกต์ หากคำนวณผิด โหนดต่าง ๆ อาจเห็นไม่ตรงกันว่าบล็อกนั้นถูกต้องหรือไม่ และส่งผลต่อการประมวลผลธุรกรรมหรือการซิงก์เครือข่ายได้
Konstantopoulos ระบุว่าผู้โจมตีต้องสร้างธุรกรรมในรูปแบบเฉพาะเพื่อกระตุ้นข้อผิดพลาดนี้ เส้นทางการคำนวณที่ได้รับผลกระทบอาจพบได้ในสภาพแวดล้อมฮาร์ดแวร์ประสิทธิภาพต่ำที่ใช้ซอฟต์แวร์สร้างบล็อกของ Reth รวมถึงเครือข่ายที่พัฒนาด้วย OP Stack ของ Optimism ดังนั้นปัญหาจึงไม่ได้จำกัดอยู่แค่โครงสร้างพื้นฐานของ Ethereum mainnet
Reth, Optimism, Base และ Tempo ออกแพตช์
ทีมพัฒนา Tempo พบปัญหานี้ระหว่างการทดสอบแบบ fuzzing ซึ่งเป็นการป้อนข้อมูลที่ผิดปกติหรือพบไม่บ่อยเข้าไปในซอฟต์แวร์ เพื่อค้นหาข้อผิดพลาดที่การทดสอบทั่วไปอาจตรวจไม่พบ จากนั้น Paradigm เผยแพร่ Reth 2.10.0, Optimism ออก OP Reth v2.8.1 และ Base เปิดตัวเวอร์ชัน 1.5.3 ส่วน Konstantopoulos ระบุว่า Tempo ได้แก้ไขปัญหาแล้วเช่นกัน
Reth จัดให้อัปเดตนี้เป็นเรื่องเร่งด่วนสำหรับผู้ดูแลโหนด และแนะนำให้ผู้สร้างบล็อกติดตั้งเวอร์ชันใหม่ด้วย หลายเครือข่ายพึ่งพาซอฟต์แวร์ประมวลผลธุรกรรมชุดเดียวกันหรือที่เกี่ยวข้องกัน ข้อบกพร่องในโค้ดพื้นฐานจึงอาจกระทบหลายเชนพร้อมกัน การออกแพตช์ร่วมกันครั้งนี้สะท้อนว่าการรับมือช่องโหว่ในซอฟต์แวร์ที่ใช้ร่วมกันต้องอาศัยการประสานงานระหว่างหลายโครงการ
Base ตรวจสอบ state root ส่วน LayerZero จำกัดเส้นทางโอนบางส่วน
Base ระบุว่าระบบพิสูจน์ของเครือข่ายใช้วิธีตรวจสอบ state root ที่พัฒนาขึ้นแยกต่างหาก ทีมงานคำนวณ state root ปัจจุบันใหม่และตรวจสอบเทียบแล้ว ยืนยันว่าผลถูกต้องและผู้ใช้ไม่ได้รับผลกระทบ Base ยังระบุว่าระบบถอนเงินที่เกี่ยวข้องไม่ได้รับผลจากข้อผิดพลาดนี้ โดยทั่วไปบริดจ์ในระบบนิเวศอาศัย transaction receipt root หรือการอนุมัติแบบหลายลายเซ็น ไม่ใช่การคำนวณ state root ที่ได้รับผลกระทบ
Base 1.5.3 ยังแก้ปัญหาการทำงานอีกข้อ เพื่อป้องกันไม่ให้ผู้ตรวจสอบหยุดทำงานเมื่อพบ state root ที่ไม่ถูกต้อง ผู้ดูแลโหนดควรติดตั้งอัปเดต แต่ Base ระบุว่าไม่จำเป็นต้องซิงก์โหนดใหม่หรือดำเนินการกู้คืนเพิ่มเติม
วันที่ 5 พฤศจิกายน Frax Finance ระบุว่า LayerZero ซึ่งเป็นโปรโตคอลส่งข้อความข้ามเชน ได้ระงับเส้นทางโอนบางส่วนชั่วคราวระหว่างประเมินสถานการณ์ Frax กล่าวว่า สินทรัพย์และสมาร์ตคอนแทรกต์ของตนยังทำงานตามปกติ และเงินของผู้ใช้ปลอดภัย ข้อมูลที่มีอยู่ยังไม่ชี้ว่าสัญญาบริดจ์ของ LayerZero ได้รับผลกระทบจากข้อบกพร่องของ Reth การจำกัดบริการดังกล่าวเป็นมาตรการป้องกันระหว่างประเมินความเสี่ยงจากโครงสร้างพื้นฐานที่ใช้ร่วมกัน
ขณะนี้ยังไม่มีรายงานที่ยืนยันว่ามีการขโมยเงินจากข้อบกพร่องด้าน state root นี้ แม้จะเผยแพร่แพตช์แล้ว แต่ยังต้องตรวจสอบว่าผู้ดูแลโหนดแต่ละรายติดตั้งอัปเดตครบถ้วนหรือไม่ ส่วนบริการที่ถูกจำกัดชั่วคราวยังต้องประเมินก่อนกลับมาให้บริการตามปกติ