ช่องโหว่ซอฟต์แวร์บน Switch 2 เปิดทางให้ปรับแต่ง Mario Kart World แต่ต้องเริ่มใหม่หลังรีบูต

ใช้เวลาอ่าน 9 นาที
Switch 2 Software Exploit Runs Mario Kart World Mods, but Resets After Reboot

แอปเขียนโปรแกรมเปิดทางสู่ Switch 2

แซมมี ฮัจฮามิด นักวิจัยด้านความปลอดภัยซึ่งเป็นที่รู้จักทางออนไลน์ในชื่อ pepsipu สาธิตช่องโหว่ซอฟต์แวร์บน Nintendo Switch 2 ที่ใช้เฟิร์มแวร์ 23.0.1 โดยแสดงให้เห็นว่าการเข้าถึงดังกล่าวทำอะไรได้บ้างผ่านการแข่งขัน Mario Kart World ที่ดัดแปลง ตัวละครอย่าง Cinnamoroll, Hatsune Miku และ Peter Griffin ปรากฏในเกมได้โดยไม่ต้องติดตั้งชิปดัดแปลงฮาร์ดแวร์

สารบัญ
  1. แอปเขียนโปรแกรมเปิดทางสู่ Switch 2
  2. สิ่งที่การสาธิต Mario Kart แสดงให้เห็น
  3. แอป Switch รุ่นเก่ากลายเป็นช่องทางเริ่มต้นได้อย่างไร
  4. ช่องโหว่ที่สองเข้าถึงบริการระบบไฟล์
  5. Codex ช่วยงาน แต่ใช้เวลาสองสัปดาห์
  6. เหตุใดจึงเลิกใช้ช่องทางเบราว์เซอร์
  7. สิ่งที่ผู้ใช้ต้องมี และสิ่งที่หายไปหลังรีสตาร์ต
  8. ท่าทีของ Nintendo และลำดับเหตุการณ์การเผยแพร่
  9. ประเด็นสำคัญ

เครื่องมือชื่อ ns2jb ใช้จุดอ่อนในแอปเขียนโปรแกรมของ Switch รุ่นแรก ร่วมกับช่องโหว่ในบริการระบบไฟล์ของเครื่อง ฮัจฮามิดระบุว่าเครื่องมือนี้ทำให้รันโค้ดเนทีฟได้ด้วยสิทธิ์ของบริการระบบหลายรายการ เปิดทางให้ใช้แอปที่ไม่เป็นทางการ ดัดแปลงเกม และคัดลอกไฟล์บันทึกเกมออกจากเครื่อง

ข้อจำกัดสำคัญนั้นตรงไปตรงมา คือการเข้าถึงจะหายไปเมื่อรีสตาร์ตเครื่อง ผู้ใช้ต้องเรียกใช้ช่องโหว่อีกครั้งหลังบูตทุกครั้ง และขณะนี้ยังไม่สามารถติดตั้งเฟิร์มแวร์ปรับแต่งแบบถาวร ซึ่งเป็นซอฟต์แวร์ระบบทางเลือกที่ยังคงอยู่ในเครื่องได้

รายงานทางเทคนิคของฮัจฮามิดลงวันที่ 18 ตุลาคม 2026 ส่วนการสาธิตต่อสาธารณะเผยแพร่เมื่อวันที่ 22 ตุลาคม เขาระบุว่าเวอร์ชัน 23.0.1 เป็นเฟิร์มแวร์ล่าสุดในขณะนั้น งานวิจัยนี้ใช้เวลาราวสองสัปดาห์ และมีเครื่องมือเขียนโค้ด Codex ของ OpenAI เข้ามาช่วย ควบคู่กับการลงแรงอย่างมากของนักพัฒนา

ในช่วงที่มีรายงานการสาธิต Nintendo ยังไม่ได้แสดงความเห็นต่อสาธารณะ มีรายงานว่า SmileBASIC 4 ซึ่งเป็นแอปเขียนโปรแกรมที่ใช้เป็นช่องทางเริ่มต้น ถูกนำออกจาก eShop บางภูมิภาค ทำให้การเข้าถึงซอฟต์แวร์ที่จำเป็นกลายเป็นข้อกังวลทันทีสำหรับผู้ที่ต้องการตรวจสอบช่องโหว่นี้

สิ่งที่การสาธิต Mario Kart แสดงให้เห็น

Mario Kart World แสดงผลลัพธ์ที่เห็นได้ชัดที่สุด โดยมีตัวละครคุ้นเคยจากนอกเกมของ Nintendo เข้ามาร่วมแข่งด้วย การสาธิตมีทั้ง Cinnamoroll, Hatsune Miku, Peter Griffin และ RED นกสีแดงจาก Angry Birds ส่วน Steve จาก Minecraft ก็ปรากฏในคำบรรยายเกมที่ดัดแปลงด้วย

การเปลี่ยนแปลงที่สำคัญกว่านั้นเกิดขึ้นเบื้องหลังการแข่งขัน การรันโค้ดเนทีฟหมายถึงการสั่งงานโดยตรงบนหน่วยประมวลผลของเครื่อง แทนที่จะจำกัดอยู่แค่คำสั่งที่เกมหรือแอปเขียนโปรแกรมอนุญาตตามปกติ สิทธิ์ที่ผูกกับโค้ดนั้นเป็นตัวกำหนดว่าสามารถเข้าถึงส่วนใดของเครื่องได้บ้าง

โฆษณา

ฮัจฮามิด นักวิจัยด้านความปลอดภัยซึ่งระบุว่าเป็นนักศึกษาระดับปริญญาตรีของ Caltech อธิบายการใช้งานที่ตั้งใจไว้สำหรับการเข้าถึงดังกล่าวว่า:

สิ่งนี้ทำให้เรารันโฮมบรูว์ ทำวิศวกรรมย้อนกลับและดัดแปลงเกม Switch 2 สำรองไฟล์บันทึกเกมออกจาก Switch และเข้าถึงอุปกรณ์ต่อพ่วงส่วนใหญ่ของ Switch 2 ผ่าน MMIO ได้

โฮมบรูว์หมายถึงซอฟต์แวร์ที่ไม่เป็นทางการซึ่งพัฒนานอกระบบเผยแพร่ที่ผู้ผลิตเครื่องเกมรับรอง วิศวกรรมย้อนกลับคือการตรวจสอบวิธีทำงานของซอฟต์แวร์ที่มีอยู่ ส่วน MMIO ซึ่งย่อมาจาก memory mapped input/output เป็นวิธีที่ซอฟต์แวร์ใช้สื่อสารกับฮาร์ดแวร์ผ่านตำแหน่งหน่วยความจำที่กำหนดไว้

ความสามารถเหล่านี้มีความสำคัญต่อคนแต่ละกลุ่มด้วยเหตุผลต่างกัน ผู้เล่นอาจต้องการสำเนาไฟล์บันทึกเกมแยกไว้ ผู้ดัดแปลงเกมอาจต้องการเปลี่ยนตัวละคร และนักวิจัยอาจต้องการตรวจสอบบริการระบบ แต่ละอย่างต้องอาศัยการเข้าถึงที่เกมทั่วไปไม่ได้รับตามปกติ

แอป Switch รุ่นเก่ากลายเป็นช่องทางเริ่มต้นได้อย่างไร

SmileBASIC 4 เปิดให้ผู้ใช้เขียนและรันโปรแกรมบน Nintendo Switch รุ่นแรกได้ ส่วน Switch 2 สามารถรันซอฟต์แวร์ดังกล่าวผ่านความเข้ากันได้ย้อนหลัง ซึ่งเป็นคุณสมบัติที่ช่วยให้เกมจากเครื่องรุ่นก่อนใช้งานบนเครื่องรุ่นใหม่ได้ ความเชื่อมโยงนี้เปิดทางให้ฮัจฮามิดเข้าถึงเครื่องรุ่นใหม่ผ่านซอฟต์แวร์รุ่นเก่า

จุดอ่อนแรกคือ integer overflow ในตัวแปลคำสั่งของ SmileBASIC ซึ่งเป็นส่วนที่อ่านและดำเนินการตามคำสั่งโปรแกรม integer overflow เกิดขึ้นเมื่อการคำนวณเกินช่วงค่าที่คอมพิวเตอร์จัดสรรไว้ให้ตัวเลข ทำให้ผลลัพธ์วนกลับไปเป็นค่าอื่น

ในกรณีนี้ การคำนวณที่ใช้ตรวจสอบการทำงานกับอาร์เรย์ ซึ่งเป็นรายการค่าที่จัดเก็บไว้ อาจวนกลับไปเป็นจำนวนลบ การตรวจสอบจึงยอมรับการทำงานที่ควรถูกปฏิเสธ จากนั้นการคัดลอกหน่วยความจำในขั้นตอนถัดไปก็ย้ายข้อมูลออกนอกพื้นที่ที่กำหนดไว้

ฮัจฮามิดอธิบายว่าเขาใช้พฤติกรรมดังกล่าวทำให้โปรแกรมมองข้อมูลส่วนหนึ่งของอาร์เรย์เป็นสตริง ความสับสนนี้เปิดทางให้อ่านและแก้ไขหน่วยความจำนอกขอบเขตที่โปรแกรมกำหนดไว้ งานวิจัยขั้นต้นทำบน Switch รุ่นแรกได้ ก่อนนำไปใช้เป็นส่วนหนึ่งของห่วงโซ่โจมตี Switch 2

ก่อนหน้านี้ SmileBASIC เคยเกี่ยวข้องกับช่องโหว่โฮมบรูว์บน Nintendo 3DS จุดเด่นของแอปนี้ในกรณีนี้คือการนำแอปรุ่นเก่ามาใช้เป็นขั้นแรกของการโจมตีเครื่องรุ่นใหม่ได้

โฆษณา

ช่องโหว่ที่สองเข้าถึงบริการระบบไฟล์

การเข้าถึงภายใน SmileBASIC เป็นเพียงจุดเริ่มต้น จากนั้นฮัจฮามิดมุ่งเป้าไปที่บริการระบบไฟล์ในตัว ซึ่งเรียกว่า fs และทำหน้าที่จัดการการทำงานกับพื้นที่จัดเก็บ การเข้าถึงบริการที่มีสิทธิ์กว้างกว่าจำเป็นต่อการข้ามข้อจำกัดของแอปเขียนโปรแกรม

ช่องโหว่ที่สองเกี่ยวข้องกับการปรับเส้นทางไฟล์ให้เป็นมาตรฐาน เส้นทางไฟล์บอกซอฟต์แวร์ว่าจะค้นหาสิ่งใดในพื้นที่จัดเก็บ การปรับให้เป็นมาตรฐานคือการจัดรูปแบบเส้นทางให้เป็นรูปแบบมาตรฐานก่อนที่ระบบจะนำไปใช้ ฮัจฮามิดอธิบายกรณีที่บริการคัดลอกเส้นทางไฟล์ลงในบัฟเฟอร์ชั่วคราวที่มีขนาดเล็กเกินไป

บัฟเฟอร์คือพื้นที่หน่วยความจำที่สำรองไว้ เมื่อข้อมูลล้นออกนอกขอบเขต ก็อาจเขียนทับข้อมูลที่อยู่ใกล้เคียงได้ ฮัจฮามิดใช้บัฟเฟอร์ล้นนี้กระทบออบเจ็กต์แคชของพื้นที่จัดเก็บ จนเกิดช่องทางอ่านและเขียนหน่วยความจำในบริการระบบไฟล์

จากนั้นเขาอธิบายว่าได้เปลี่ยนข้อมูลระบุตัวตนของโพรเซสที่บันทึกไว้สำหรับการเชื่อมต่อของ SmileBASIC เพื่อให้ได้สิทธิ์เข้าถึงระบบไฟล์ที่กว้างขึ้น ทำให้คัดลอกพื้นที่จัดเก็บภายในและโค้ดของโมดูลระบบทั่วไปมาตรวจสอบได้ โมดูลระบบ หรือ sysmodule คือบริการที่ทำงานต่าง ๆ ให้ระบบปฏิบัติการ

ฮัจฮามิดระบุว่า ns2jb ที่ได้มาสามารถรันโค้ดเนทีฟในฐานะโมดูลระบบทั่วไปและโมดูลระบบไฟล์ในตัวได้ ดังนั้นห่วงโซ่การโจมตีจึงมีสองขั้นที่แยกจากกัน ได้แก่ ช่องทางเริ่มต้นผ่าน SmileBASIC และช่องโหว่ขั้นที่สองซึ่งให้สิทธิ์เข้าถึงที่กว้างกว่า

Codex ช่วยงาน แต่ใช้เวลาสองสัปดาห์

ฮัจฮามิดใช้ Codex ของ OpenAI ระหว่างทำวิจัย โดยตั้งค่าระบบเฉพาะที่เปิดให้เอเจนต์ AI ส่งคำสั่งควบคุมเครื่องเกมและตรวจสอบภาพวิดีโอได้ อุปกรณ์ JetKVM เชื่อมต่อคำสั่งควบคุมผ่าน USB และจับภาพวิดีโอผ่าน HDMI

กลไกสวิตช์ไฟ Bluetooth เป็นส่วนหนึ่งของระบบที่ไม่ธรรมดาแต่ใช้งานได้จริง โดยกดปุ่มเปิดปิดของเครื่องจริงหลังเกิดข้อขัดข้อง การล่มซ้ำเป็นสิ่งที่เกิดขึ้นได้ทั่วไปในการวิจัยหน่วยความจำลักษณะนี้ การรีสตาร์ตฮาร์ดแวร์จึงเป็นส่วนหนึ่งของกระบวนการทดสอบ

ฮัจฮามิดระบุว่า Codex พบ integer overflow ที่ใช้ประโยชน์ได้ใน SmileBASIC งานนี้ยังรวมถึงการตรวจสอบบริการระบบ การตรวจดูโค้ด และการพัฒนาห่วงโซ่ที่เข้าถึงบริการระบบไฟล์ ฮัจฮามิดกล่าวว่าเขาตรวจสอบบริการดังกล่าวด้วยตนเอง ขณะที่เอเจนต์ AI สำรวจเป้าหมายอื่น

โฆษณา

นักพัฒนาชี้แจงว่าคำบรรยายเชิงหยอกล้อที่บอกเพียงว่าให้ AI เจลเบรกเครื่องนั้นไม่ใช่กระบวนการจริง ความพยายามเริ่มต้นที่จะทำให้รันโค้ดผ่านช่องทางอื่นไม่สำเร็จ และการเจลเบรกต้องอาศัยความพยายามอย่างมากตลอดเวลาราวสองสัปดาห์

ฮัจฮามิดกล่าวว่า Codex สร้างม็อด Mario Kart World ได้ภายในวันเดียว นั่นทำให้การสาธิตสนุก ๆ เกิดขึ้นในกรอบเวลาที่ต่างจากงานวิจัยด้านความปลอดภัยที่อยู่เบื้องหลัง การเปลี่ยนตัวละครที่มองเห็นได้เกิดขึ้นหลังจากผ่านงานที่ยากกว่าอย่างการหาทางเข้าถึงระบบ

เหตุใดจึงเลิกใช้ช่องทางเบราว์เซอร์

WebKit ซึ่งเป็นเอนจินเบราว์เซอร์ที่ใช้ในการทดลองช่วงแรก เป็นเป้าหมายแรก ๆ เพราะเบราว์เซอร์ประมวลผลเนื้อหาที่ซับซ้อนและมักเป็นเป้าหมายของงานวิจัยด้านความปลอดภัย ระบบที่ฮัจฮามิดใช้ทดลองหาทางเข้าถึงผ่าน captive portal ของ Wi-Fi ที่กำหนดเอง ซึ่งเป็นหน้าเว็บลักษณะที่อาจแสดงขึ้นเมื่ออุปกรณ์เชื่อมต่อเครือข่าย

แนวทางนี้ติดข้อจำกัดด้านการป้องกันหลายประการ การจำกัดการอ่านหน่วยความจำที่ใช้เก็บคำสั่งปฏิบัติการทำให้ค้นหาชุดคำสั่งที่เป็นประโยชน์ได้ยากขึ้น ส่วนการยืนยันตัวตนของพอยน์เตอร์จะตรวจสอบที่อยู่บางรายการก่อนนำไปใช้ ขณะที่การรักษาความถูกต้องของลำดับการควบคุมจะตรวจว่าการเปลี่ยนเส้นทางการทำงานบางอย่างเป็นไปตามเส้นทางที่อนุญาตหรือไม่

งานเบราว์เซอร์ช่วงแรกควบคุมระบบได้ในระดับจำกัดกว่า แต่ไม่สามารถสื่อสารกับบริการระบบได้อย่างอิสระตามต้องการเพื่อเจลเบรก ฮัจฮามิดจึงหันไปใช้ช่องทาง SmileBASIC ขณะที่การวิจัยเบราว์เซอร์ยังดำเนินแยกกันต่อไป

เขาระบุว่าการปรับช่องโหว่ระบบไฟล์ให้ใช้กับ WebKit เป็นแนวทางที่อาจศึกษาต่อได้ ซึ่งอาจเป็นช่องทางเริ่มต้นอีกแบบหนึ่ง แต่ยังไม่ได้ระบุกำหนดเผยแพร่เวอร์ชันดังกล่าว นอกจากนี้เขายังกล่าวว่าทดสอบช่องโหว่บน Switch รุ่นแรกแล้ว แต่ยังไม่ได้จัดทำเป็นแพ็กเกจสำหรับเครื่องรุ่นนั้น

สิ่งที่ผู้ใช้ต้องมี และสิ่งที่หายไปหลังรีสตาร์ต

ช่องทางที่อธิบายไว้ใช้ SmileBASIC 4 เวอร์ชัน 4.4.9 โดยมีรายงานว่าราคาใน US eShop อยู่ที่ประมาณ 25 ดอลลาร์ ม็อดเดอร์อีกรายกล่าวว่าอาจไม่จำเป็นต้องใช้แอปนี้โดยเคร่งครัด แต่ห่วงโซ่ที่สาธิตเริ่มต้นจากแอปเขียนโปรแกรม ข้อกำหนดในทางปฏิบัติสำหรับช่องทางอื่นยังไม่แน่ชัด

เวอร์ชันทดลองใช้ภาษาญี่ปุ่นที่ไม่มีค่าใช้จ่ายได้รับความสนใจเช่นกัน เมื่อผู้คนพยายามหาทางดาวน์โหลดซอฟต์แวร์ มีรายงานว่าเวอร์ชันทดลองใช้ไม่ได้กับช่องโหว่นี้ ดังนั้นสำหรับวิธีนี้ เวอร์ชันทดลองกับเวอร์ชันเสียเงินจึงมีประโยชน์ตามรายงานแตกต่างกัน

โฆษณา

มีการอธิบายว่า ns2jb เป็นช่องโหว่แบบต้องเชื่อมต่อเครื่องช่วย ในกรณีนี้หมายความว่าต้องเรียกใช้ช่องโหว่จากเกมอีกครั้งหลังเปิดเครื่องทุกครั้ง การรีสตาร์ตจะล้างช่องโหว่ที่กำลังทำงานออกจากหน่วยความจำ และทำให้โพรเซสที่ได้รับผลกระทบกลับสู่สถานะปกติ

ช่องโหว่ซอฟต์แวร์กับเฟิร์มแวร์ปรับแต่งแบบถาวรให้การเข้าถึงคนละลักษณะ ns2jb เปลี่ยนสิ่งที่รันได้ระหว่างเซสชันที่ช่องโหว่ยังทำงาน ส่วนเฟิร์มแวร์ปรับแต่งแบบถาวรต้องอาศัยกลไกเพิ่มเติมที่ยังทำงานได้หลังรีสตาร์ต

นอกจากนี้ยังมีรายงานว่าคำแนะนำในปัจจุบันทำตามได้ยากสำหรับผู้เล่นทั่วไป กลุ่มเป้าหมายในระยะแรกจึงเป็นนักวิจัยและม็อดเดอร์ที่มีประสบการณ์ด้านเทคนิค ไม่ใช่เจ้าของเครื่องทุกคนที่ต้องการเมนูเรียบง่ายสำหรับติดตั้งแอปที่ไม่เป็นทางการ

ท่าทีของ Nintendo และลำดับเหตุการณ์การเผยแพร่

ความพร้อมใช้งานของ SmileBASIC 4 กลายเป็นประเด็นกังวลหลังการสาธิตไม่นาน มีรายงานว่าผู้ใช้บางคนซื้อแอปแล้วตัดการเชื่อมต่อเครื่องจากอินเทอร์เน็ต เพราะกลัวว่าการอัปเดตจะปิดช่องทางนี้ รายงานที่เผยแพร่ในช่วงประกาศระบุว่าอาจมีการนำแอปออก หรือแอปหายไปจากร้านค้าบางภูมิภาคแล้ว

ในรายงานเหล่านั้น Nintendo ยังไม่ได้ออกคำชี้แจงอย่างเป็นทางการหรือประกาศแพตช์ ขอบเขตการนำแอปออกจากร้านค้าตามรายงาน รวมถึงภูมิภาคที่ได้รับผลกระทบ ยังไม่ได้รับการยืนยัน การนำแอปออกจากการจำหน่ายจะจำกัดการซื้อใหม่ ส่วนการอัปเดตระบบหรือซอฟต์แวร์จะจัดการโค้ดที่มีช่องโหว่ด้วยวิธีอื่น

วันที่ต่าง ๆ ที่ระบุในประกาศและรายงานทางเทคนิคมีดังนี้:

  • 18 ตุลาคม 2026: รายงานทางเทคนิคของฮัจฮามิดลงวันที่นี้ โดยระบุว่า ns2jb เป็นช่องโหว่ซอฟต์แวร์สำหรับเฟิร์มแวร์ 23.0.1
  • 22 ตุลาคม 2026: ฮัจฮามิดเผยแพร่การสาธิต Mario Kart World ต่อสาธารณะและประกาศการเจลเบรก
  • ช่วงใกล้วันที่ประกาศ 22 ตุลาคม: ผู้ใช้พูดคุยกันเรื่องการซื้อ SmileBASIC 4 ขณะที่มีรายงานว่าอาจมีหรือได้มีการนำแอปออกจาก eShop บางภูมิภาคแล้ว

Geziné นักพัฒนาที่เปิดเผยช่องโหว่อีกจุดหนึ่งซึ่งส่งผลต่อ Switch ทั้งสองเจเนอเรชัน กล่าวว่าได้พูดคุยกับ pepsipu แล้ว และเครื่องมือนี้ดูน่าเชื่อถือ Geziné ยังกล่าวด้วยว่า pepsipu ทราบถึงช่องโหว่ user mode อีกจุดหนึ่งที่ตนพัฒนาขึ้น

ฮัจฮามิดอธิบายว่าเท่าที่ทราบ ns2jb เป็นช่องโหว่ Switch 2 ประเภทนี้ตัวแรก ผลงานที่เกิดขึ้นในระยะแรกคือช่องทางที่ใช้งานได้จริงสำหรับการวิจัยซอฟต์แวร์เชิงลึกและการดัดแปลงเกม แต่ยังมีข้อจำกัดชัดเจนด้านความคงอยู่และความง่ายในการใช้งาน

โฆษณา

ประเด็นสำคัญ

  • มีรายงานว่า ns2jb ใช้ได้กับ Switch 2 เฟิร์มแวร์ 23.0.1 โดยไม่ต้องใช้ชิปดัดแปลงฮาร์ดแวร์
  • ห่วงโซ่ที่สาธิตผสานจุดอ่อนด้านหน่วยความจำของ SmileBASIC เข้ากับช่องโหว่ในบริการระบบไฟล์
  • แซมมี ฮัจฮามิด ซึ่งเป็นที่รู้จักในชื่อ pepsipu ใช้ Codex ของ OpenAI ระหว่างทำวิจัยราวสองสัปดาห์
  • การสาธิต Mario Kart World มีตัวละครที่เพิ่มเข้ามาเอง เช่น Cinnamoroll, Hatsune Miku และ Peter Griffin
  • ช่องโหว่จะหายไปหลังรีสตาร์ต และขณะนี้ยังไม่สามารถติดตั้งเฟิร์มแวร์ปรับแต่งแบบถาวรได้
  • ช่องทางเริ่มต้นที่อธิบายไว้ใช้ SmileBASIC 4 เวอร์ชัน 4.4.9 มีรายงานการนำแอปออกจากร้านค้าบางภูมิภาค ขณะที่ Nintendo ยังไม่ได้แสดงความเห็นต่อสาธารณะ
แชร์บทความนี้

เรื่องที่คุณอาจชอบ