พบช่องโหว่ในเส้นทางตรวจสอบแบบ Native Rust ของ SP1 V6 จาก Succinct ซึ่งอาจทำให้หลักฐานการประมวลผลที่ไม่ถูกต้องผ่านการตรวจสอบได้ บริษัทแก้ไขเวอร์ชันที่มีช่องโหว่และติดตั้งแพตช์ใน Prover Network ที่ทำงานบนเมนเน็ตแล้ว
Succinct จัดระดับความรุนแรงของช่องโหว่เป็น ‘สูง (High)’ ในประกาศด้านความปลอดภัยที่เผยแพร่เมื่อวันที่ 11 ตุลาคม 2026 แพ็กเกจที่ได้รับผลกระทบ ได้แก่ sp1_hypercube, sp1_prover และ sp1_sdk โดยครอบคลุมเวอร์ชัน 6.0.0 ถึง 6.8.0 ส่วนเวอร์ชันที่แก้ไขแล้วคือ 6.8.1
ปัญหาเกิดจากระบบไม่ได้ตรวจสอบว่าจำนวนองค์ประกอบที่จัดเก็บในเทนเซอร์ตรงกับผลคูณของค่ามิติที่ประกาศไว้หรือไม่ เทนเซอร์เป็นโครงสร้างสำหรับจัดเก็บข้อมูลหลายมิติ ซึ่งจำนวนองค์ประกอบควรเท่ากับผลคูณของค่ามิติแต่ละด้าน
ตัวตรวจสอบเดิมไม่ได้ตรวจสอบความตรงกันของค่าทั้งสอง และบางขั้นตอนใช้ค่ามิติที่ประกาศไว้โดยไม่ตรวจจำนวนองค์ประกอบซ้ำ หากผู้สร้างหลักฐานที่ประสงค์ร้ายส่งเทนเซอร์ที่มีค่าไม่ตรงกัน แต่ละขั้นตอนจึงอาจประมวลผลคนละส่วนของเทนเซอร์เดียวกัน
Succinct ระบุว่าในกรณีดังกล่าว หลักฐานการประมวลผลที่ไม่ถูกต้องอาจผ่านการตรวจสอบแบบ Native Rust ได้ คำอธิบายนี้กล่าวถึงผลกระทบทางเทคนิคของช่องโหว่ โดยยังไม่พบกรณีการโจมตีที่เปิดเผยต่อสาธารณะ
สิ่งที่ได้รับผลกระทบคือหลักฐาน Core และ Compressed ที่ส่งตรงไปยังตัวตรวจสอบ Native Rust ที่มีช่องโหว่ แอปพลิเคชันที่รับหลักฐานจากผู้สร้างภายนอกที่ไม่น่าเชื่อถือผ่านเส้นทางนี้อาจเผชิญความเสี่ยง
ประกาศระบุว่าในขณะที่พบช่องโหว่ กรณีการใช้งานที่ได้รับผลกระทบคือ Prover Network บนเมนเน็ตที่ Succinct ดำเนินการ ซึ่งรับหลักฐานจากผู้สร้างหลักฐานภายนอก ส่วนบริการอื่นได้รับผลกระทบหรือไม่นั้นยังไม่มีการยืนยัน
เส้นทางตรวจสอบ Groth16 และ Plonk ที่ใช้ Solidity ไม่ได้รับผลกระทบ เนื่องจากใช้หลักฐานรูปแบบตายตัวและไม่ได้ประมวลผลเทนเซอร์ Rust ที่เป็นต้นเหตุ เช่นเดียวกัน หลักฐาน Compressed จะไม่กระทบเส้นทางตรวจสอบของไลบรารีดังกล่าว หากผลการรวมหลักฐานสิ้นสุดเป็นหลักฐาน Groth16 หรือ Plonk
SP1 เป็นเครื่องเสมือนแบบไร้ความรู้ (zkVM) ที่ใช้พิสูจน์การทำงานของโปรแกรมซึ่งคอมไพล์ด้วย LLVM เช่น Rust ในคำแนะนำเกี่ยวกับโปรแกรม SP1 บน Immunefi, Succinct อธิบายว่านักพัฒนาสามารถสร้างและตรวจสอบหลักฐานการทำงานของโปรแกรมได้
ปัญหาครั้งนี้จำกัดอยู่ที่การขาดการตรวจสอบรูปแบบเทนเซอร์ในเส้นทางตรวจสอบ Native Rust บางส่วนของ V6 ไม่ได้กระทบ SP1 ทั้งระบบ ก่อนหน้านี้มีรายงานว่า Arbitrum สร้างหลักฐานไร้ความรู้สำหรับบล็อกเมนเน็ตจริงบน SP1
Succinct แก้ไขให้ระบบเปรียบเทียบจำนวนองค์ประกอบที่จัดเก็บกับผลคูณของค่ามิติที่ประกาศเมื่ออ่านเทนเซอร์ และตรวจสอบรูปแบบเทนเซอร์จริงระหว่างกระบวนการตรวจสอบแบบ Native หลังเผยแพร่เวอร์ชัน 6.8.1 บริษัทได้นำตัวตรวจสอบที่แก้ไขแล้วไปใช้กับ Prover Network บนเมนเน็ต
ผู้ใช้เครือข่ายดังกล่าวไม่จำเป็นต้องเปลี่ยนการเชื่อมต่อ ส่วนผู้ให้บริการที่ดูแลตัวตรวจสอบ Native Rust เองและรับหลักฐานที่ไม่น่าเชื่อถือได้รับคำแนะนำให้อัปเดตเป็นเวอร์ชัน 6.8.1
ความคิดเห็น 0