มีบั๊กที่พบใน solidity v0.5.8 ~ 0.8.15 และได้มีการปรับปรุงพร้อมออกรีลีสใน v0.8.16 แล้ว
บทความนี้แปลและสรุปโดยเน้นเฉพาะประเด็นสำคัญ และได้ลองรันโค้ดตัวอย่างด้วยตัวเองแล้ว
สรุปคือ หากใน tuple มีชนิดข้อมูลขนาดไดนามิกอยู่ และองค์ประกอบสุดท้ายเป็นชนิดข้อมูลขนาดคงที่ เมื่อคอมไพล์โดยใช้ ABI coder v2 จะมีปัญหาที่ทำให้บางส่วนถูกเขียนทับด้วยค่า 0
ABI coder v2 ถูกใช้งานเป็นค่าเริ่มต้นตั้งแต่เวอร์ชัน 0.8
น่าจะเป็นการดีถ้าตรวจสอบว่าโครงสร้างคอนแทรกต์ที่นำไป deploy ไว้นั้นมีโค้ดที่อาจทำให้เกิดช่องโหว่ลักษณะนี้หรือไม่ และทำการปรับปรุงแก้ไข
ยังไม่มีความคิดเห็น