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






