XRP Ledger แพตช์บั๊กอายุ 10 ปี เสี่ยงทำลายเพดานอุปทาน 1 แสนล้านโทเคน

นักพัฒนา XRP Ledger เปิดเผยเมื่อวันที่ 9 ตุลาคมว่า บั๊ก integer overflow ในระบบชำระเงินของเครือข่ายอาจเปิดช่องให้ผู้โจมตีสร้าง XRP ขึ้นมาใหม่จากอากาศธาตุ และทำลายเพดานอุปทาน 1 แสนล้านโทเคนที่กำหนดไว้ตั้งแต่เครือข่ายเปิดตัวในปี 2012 ช่องโหว่นี้ได้รับการแพตช์ในซอฟต์แวร์ xrpld 3.4.1 เมื่อวันที่ 25 กันยายน และ RippleX ระบุว่าไม่พบหลักฐานว่าบั๊กดังกล่าวถูกใช้โจมตีบนเครือข่ายสาธารณะ ตามรายงานเปิดเผยช่องโหว่อย่างเป็นทางการ บั๊กนี้ถูกรายงานผ่านโครงการ bug bounty ของ XRPL โดยนักวิจัย Cayden Liao และ Veria AI เมื่อวันที่ 22 กันยายน วิศวกร RippleX จำลองการโจมตีบนเซิร์ฟเวอร์แบบสแตนด์อโลน ยืนยันว่า XRP ที่สร้างขึ้นใหม่สามารถถูกใช้จ่ายในธุรกรรมถัดไปได้ และปรับระดับความรุนแรงของช่องโหว่จาก major เป็น critical ช่องโหว่นี้อาจสร้าง XRP ได้อย่างไร จุดอ่อนอยู่ที่การจัดการ overflow ของระบบชำระเงิน เมื่อการชำระเงินรายการเดียวใช้ข้อเสนอจำนวนมากบนกระดานแลกเปลี่ยนในตัวของเล็ดเจอร์ ซอฟต์แวร์จะรวมยอดที่ผู้ซื้อต้องจ่ายโดยใช้การบวกเลขจำนวนเต็ม 64 บิตโดยไม่ตรวจสอบ overflow ข้อเสนอไม่กี่ร้อยรายการ ซึ่งแต่ละรายการขอ XRP จำนวนมหาศาล อาจดันยอดรวมเกินค่าสูงสุดที่ตัวเลข 64 บิตเก็บได้ ทำให้ค่าย้อนกลับกลายเป็นค่าเล็กมาก เจ้าของข้อเสนอแต่ละรายได้รับเงินเต็มจำนวน ขณะที่ผู้ซื้อถูกเรียกเก็บเพียงยอดที่ย้อนกลับ ทำให้มี XRP ที่สร้างใหม่คงเหลือในบัญชีของผู้โจมตี การตรวจสอบความปลอดภัยสองชั้นควรสกัดกั้นเรื่องนี้ได้ แต่กลับไม่ทำงาน อินเวอร์เรียนต์ no XRP created ของเล็ดเจอร์รวมการเปลี่ยนแปลงยอดคงเหลือสุทธิด้วยวิธีเดียวกัน จึงย้อนกลับเหมือนกันและมองไม่เห็นความผิดปกติ ส่วนการตรวจสอบยอดคงเหลือรายบัญชีจะล้มเหลวเฉพาะเมื่อบัญชีเดียวถือครองมากกว่าอุปทานทั้งหมด ซึ่งการโจมตีหลีกเลี่ยงได้ด้วยการกระจาย XRP ที่สร้างใหม่ไปยังหลายร้อยบัญชี ทำไมการแก้ไขจึงข้ามกระบวนการ amendment โดยปกติ การเปลี่ยนแปลงวิธีที่ XRP Ledger ประมวลผลธุรกรรมจะต้องผ่านกระบวนการ amendment ซึ่งกฎใหม่จะนิ่งอยู่จนกว่าผู้ตรวจสอบที่เชื่อถือได้มากกว่า 80 เปอร์เซ็นต์สนับสนุนติดต่อกันสองสัปดาห์ RippleX จงใจข้ามกระบวนการนี้เป็นครั้งแรกนับตั้งแต่ถูกนำมาใช้เมื่อกว่าสิบปีก่อน เพราะช่องโหว่มีต้นทุนต่ำ ไม่ต้องมีสิทธิ์พิเศษ และอาจสร้าง XRP ที่ใช้จ่ายได้ เนื่องจาก xrpld เป็นโอเพนซอร์ส การแก้ไขที่เผยแพร่ผ่านเส้นทางปกติจะปรากฏให้เห็นแต่ยังถูกโจมตีได้บนเมนเน็ตเป็นเวลาหลายสัปดาห์ ทางลัดนี้มาพร้อมความเสี่ยงที่เครือข่ายซึ่งมีซอฟต์แวร์ต่างเวอร์ชันกันอาจหยุดชะงัก แต่ธุรกรรมปกติไม่เคยเข้าสู่โค้ดที่มีช่องโหว่ ผู้ตรวจสอบ UNL เริ่มต้นมากกว่า 80 เปอร์เซ็นต์รันเวอร์ชัน 3.4.1 ในวันที่เปิดตัว ก่อนซอร์สโค้ดจะถูกเผยแพร่ นัยต่ออุปทานคงที่ของ XRP เหตุการณ์นี้ตอกย้ำว่าคุณค่าของ XRP พึ่งพาการที่อุปทานพิสูจน์ได้ว่ามีจำกัดเพียงใด โทเคนทั้ง 1 แสนล้านเหรียญถูกสร้างขึ้นทั้งหมดตั้งแต่เปิดตัว และสถาบันที่สร้างบนเล็ดเจอร์มองเพดานนี้เป็นหลักประกัน บั๊กดังกล่าวมีอยู่ตั้งแต่ระบบชำระเงินปัจจุบันถูกเขียนขึ้นในปี 2015 แต่ RippleX ไม่พบหลักฐานว่าเคยถูกใช้โจมตี เวอร์ชันเดียวกันยังแก้ช่องโหว่แยกต่างหากใน Batch transaction wrapper validation ซึ่งถูกเปิดใช้งานบนเมนเน็ตเมื่อวันที่ 9 ตุลาคม RippleX กล่าวว่ากำลังเพิ่มขั้นตอนการตรวจสอบซ้ำในกระบวนการปล่อยเวอร์ชัน เพื่อให้ทุกข้อค้นพบด้านความปลอดภัยที่ทำเครื่องหมายว่าแก้ไขแล้วถูกทดสอบซ้ำกับ release candidate การเปิดเผยนี้มีขึ้นขณะที่ XRP Ledger เดินหน้าเพิ่มฟีเจอร์สำหรับสถาบัน รวมถึงการมอบอำนาจอนุญาตให้ธนาคารและ stablecoins ขณะที่พลวัตอุปทานและ escrow ของ XRP ยังคงอยู่ในความสนใจของผู้ถือ