Tóm tắt nhanh
- ns2jb là jailbreak bằng phần mềm cho Nintendo Switch 2, được tác giả công bố hoạt động trên firmware 23.0.1.
- Chuỗi khai thác bắt đầu từ SmileBASIC 4 bản Switch đời đầu, sau đó vượt sang dịch vụ quản lý tập tin của hệ thống.
- Đã có minh họa mod Mario Kart World, nhưng chưa có quyền kernel hay custom firmware hoàn chỉnh; khởi động lại sẽ mất jailbreak.
- SmileBASIC 4 đã bị gỡ khỏi eShop, còn các lỗi phần mềm có khả năng được xử lý qua cập nhật.
Nhà nghiên cứu bảo mật Sammy Hajhamid, dùng tên pepsipu, đã công bố ns2jb để chạy mã tự viết trên Nintendo Switch 2 mà không cần gắn chip can thiệp phần cứng. Theo thông số tác giả công bố, bản khai thác hoạt động trên firmware 23.0.1, phiên bản mới nhất tại thời điểm công bố.
Điều đáng chú ý nằm ở đường đi: một ứng dụng dành cho Switch đời đầu trở thành điểm vào, rồi lỗi trong dịch vụ tập tin giúp mở rộng quyền truy cập trên máy mới. Đây là kết quả có ích cho cộng đồng phát triển homebrew, tức phần mềm tự viết ngoài kênh phát hành chính thức, nhưng chưa đủ để xem Switch 2 là thiết bị đã được mở khóa hoàn toàn.
SmileBASIC 4 biến tương thích ngược thành điểm vào
Chạy được game cũ cũng đồng nghĩa máy mới phải tiếp nhận phần mềm được xây dựng cho thế hệ trước. Với ns2jb, điểm khởi đầu là SmileBASIC 4 bản Switch, một môi trường lập trình BASIC có trình thông dịch riêng, thay vì một lỗi phần cứng trên Switch 2.
Theo phân tích kỹ thuật của tác giả, lỗi xuất hiện trong phép xử lý số nguyên 32-bit khi xóa phần tử khỏi mảng. Chương trình cần kiểm tra vị trí và số phần tử định xóa có nằm trong giới hạn hợp lệ hay không, nhưng kết quả phép cộng có thể tràn và trở thành số âm. Khi đó, phép kiểm tra giới hạn không còn phản ánh đúng vùng dữ liệu thực tế.
Hệ quả là thao tác dịch chuyển dữ liệu có thể kéo thông tin nằm ngoài mảng vào trong mảng. Một con trỏ bộ nhớ bị diễn giải như dữ liệu chuỗi, từ đó cho phép đọc và ghi vượt phạm vi vốn dành cho ứng dụng. Về bản chất, đây là lỗi quản lý bộ nhớ: dữ liệu do chương trình tiếp nhận đã làm sai lệch cách nó xác định đâu là vùng được phép truy cập.
Lỗ hổng trong game cũ chưa tự động đồng nghĩa với quyền điều khiển toàn bộ máy mới. Nó mới tạo chỗ đứng ban đầu, còn để can thiệp vào hoạt động của hệ thống, chuỗi khai thác phải vượt tiếp ranh giới giữa ứng dụng và dịch vụ có quyền cao hơn. Chính ranh giới này quyết định một lỗi riêng lẻ có thể gây tác động đến đâu.
Dịch vụ tập tin mới là nơi quyền truy cập được mở rộng

Phần nghiêm trọng hơn của ns2jb nằm ở việc dịch vụ FileSystem, thường gọi là fs, cũng có lỗi xử lý bộ nhớ. Dịch vụ này làm trung gian cho nhiều thao tác tập tin, nên quyền can thiệp vào nó có giá trị lớn hơn việc chỉ sửa dữ liệu bên trong SmileBASIC 4.

Lỗi thứ hai xuất hiện khi chuẩn hóa một số đường dẫn có thành phần quay về thư mục cha và dấu gạch chéo ngược. Theo mô tả của tác giả, dữ liệu đường dẫn có thể dài hơn vùng đệm tạm được cấp phát, dẫn đến tràn bộ đệm. Từ chỗ ghi đè bộ nhớ lân cận, chuỗi khai thác chuyển sang tác động vào cấu trúc bộ nhớ đệm của dịch vụ tập tin để đạt khả năng đọc và ghi tùy ý trong tiến trình này.

Bước tiếp theo không đơn thuần là mở thêm một thư mục. Khi hệ thống nạp chương trình, fs cung cấp nội dung thực thi cùng thông tin phục vụ kiểm tra tính hợp lệ. Nếu chính dịch vụ cung cấp nội dung đã bị kiểm soát, kẻ khai thác có thể làm sai lệch dữ liệu được trả về sau khi một phần quá trình kiểm tra đã diễn ra.
Chuỗi ns2jb tận dụng sự lệch nhau đó để đưa mã thay thế vào luồng nạp chương trình, trong khi vẫn giữ siêu dữ liệu quyền hạn cần thiết của chương trình gốc. Điểm yếu nằm ở quan hệ tin cậy giữa các thành phần: chữ ký số không tự bảo vệ được kết quả cuối cùng nếu thành phần chịu trách nhiệm cung cấp nội dung sau kiểm tra đã bị can thiệp.
Kết quả được công bố là chạy mã gốc với quyền của các sysmodule thông thường, tức những tiến trình cung cấp dịch vụ hệ thống, và cả fs. Các khả năng được nêu gồm phát triển homebrew, nghiên cứu game, sao lưu dữ liệu lưu trò chơi và tiếp cận nhiều thiết bị ngoại vi qua vùng nhớ ánh xạ. Những quyền này rộng hơn phạm vi một game thông thường, nhưng vẫn cần phân biệt với quyền điều khiển nhân hệ điều hành.
Mario Kart World là minh họa dễ nhìn nhất: các nhân vật tùy chỉnh xuất hiện trong trò chơi độc quyền của Switch 2. Một bản mod chạy được chứng minh khả năng thay đổi nội dung trong trường hợp cụ thể, chứ không tự chứng minh mọi game, mọi tính năng hệ thống hay mọi hình thức cài phần mềm đều đã hoạt động.
Jailbreak còn phụ thuộc vào máy tính và sẽ mất sau khi khởi động lại

Giới hạn lớn nhất với người dùng phổ thông là ns2jb chưa biến thành custom firmware có thể sử dụng ổn định như một hệ thống thay thế. Bản công bố thuộc dạng tethered: trạng thái khai thác không tồn tại qua lần khởi động lại, nên máy không duy trì quyền can thiệp chỉ vì đã chạy jailbreak trước đó.
Thiết lập hiện được mô tả cần một máy tính macOS hoặc Linux trong cùng mạng để chạy thành phần hỗ trợ bằng Node.js. Cụm từ “hoàn toàn bằng phần mềm” vì vậy nên hiểu là không phải gắn modchip vào máy, chứ không phải mọi thao tác đều được thực hiện độc lập trên Switch 2.
ns2jb cũng chưa đạt quyền kernel, tức quyền ở nhân hệ điều hành. Các sysmodule có thể sở hữu những quyền đáng kể, nhưng chúng vẫn là các tiến trình chạy dưới sự quản lý của kernel; chiếm quyền một dịch vụ không đồng nghĩa đã vô hiệu hóa mọi cơ chế bảo vệ phía dưới nó.
Phân biệt này đặc biệt quan trọng khi so với vụ khai thác Switch đời đầu năm 2018. Lỗi cũ nằm ở tầng phần cứng khởi động và cần thay đổi phần cứng trên các máy sản xuất về sau, còn chuỗi ns2jb hiện đi qua các lỗi phần mềm. Nintendo có thể xử lý các điểm yếu đó bằng bản cập nhật; chưa có cơ sở để gọi đây là lỗ hổng không thể vá.
Với người chơi tại Việt Nam, tin có jailbreak chưa phải lý do đủ để trả thêm tiền cho một máy được quảng cáo là “đã hack hoàn chỉnh”. Điều cần phân biệt là máy chạy được một bản minh họa trong điều kiện cụ thể, hay thực sự có giải pháp sử dụng lâu dài đáp ứng nhu cầu của người mua. ns2jb hiện mới cho thấy khả năng đầu tiên, không bảo đảm khả năng thứ hai.
Codex hỗ trợ nghiên cứu, không tự tạo ra jailbreak bằng một câu lệnh

Vai trò của AI trong quá trình nghiên cứu dễ bị kể quá mức nếu chỉ nhìn ảnh kết quả hoặc một câu đùa. Hajhamid đã phải đính chính rằng lời nhắc yêu cầu AI jailbreak máy và “không mắc sai lầm” chỉ là chú thích hài hước, không phải mô tả nghiêm túc về cách bản khai thác được tạo ra.
Theo tác giả, quá trình jailbreak cần khoảng hai tuần làm việc đáng kể. Ông xây dựng thiết lập để Codex gửi thao tác điều khiển qua USB, nhận hình ảnh qua HDMI và khởi động lại thiết bị khi bị treo; JetKVM cùng cơ cấu bấm nút nguồn giúp khép kín vòng thử nghiệm trên phần cứng thật.
AI có thể thử hướng đi, tìm lỗi và hỗ trợ phân tích, nhưng việc chọn thành phần có quyền phù hợp vẫn cần người nghiên cứu định hướng. Trong chuỗi này, Hajhamid chuyển sự chú ý sang SmileBASIC và fs, còn một hướng thử qua WebKit không đạt mục tiêu cuối cùng đã đặt ra.
Việc Codex báo thay đổi được luồng thực thi trong WebKit vì thế phải được hiểu đúng phạm vi: đó là kết quả trung gian của một hướng thử, không phải bằng chứng rằng trình duyệt đã mở được toàn bộ hệ thống. Đạt một mốc cục bộ và hoàn tất chuỗi khai thác là hai việc khác nhau.
Phần mod Mario Kart World được tác giả mô tả là làm với Codex trong một ngày để trình diễn và giải trí. Không nên đánh đồng thời gian làm bản mod với thời gian tìm ra jailbreak, bởi bản mod tận dụng quyền truy cập mà quá trình nghiên cứu trước đó mới tạo được.
Gỡ SmileBASIC 4 chặn đường tiếp cận, chưa thay thế được bản vá
Nintendo đã gỡ SmileBASIC 4 khỏi eShop trên toàn cầu sau khi thông tin khai thác được công khai. Động thái này hạn chế việc người chưa có ứng dụng tải thêm một điểm vào đã biết, nhưng tự nó không sửa lỗi trong dịch vụ tập tin trên những máy đang chạy firmware bị ảnh hưởng.
Cần tách hai việc: thu hẹp khả năng tiếp cận ứng dụng làm điểm vào và khắc phục nguyên nhân ở phần mềm hệ thống. Nếu chỉ loại bỏ ứng dụng, rủi ro từ thành phần dùng chung vẫn là điều phải xử lý; ngược lại, một bản vá đúng chỗ có thể làm chuỗi khai thác hiện tại mất tác dụng dù ứng dụng vẫn còn trên máy.
Giá trị lâu dài của ns2jb với cộng đồng homebrew là có thêm điều kiện nghiên cứu hệ thống, không phải lời bảo đảm Switch 2 từ nay sẽ luôn mở. Bước tiếp theo cần theo dõi là Nintendo vá những thành phần nào và các công cụ homebrew trưởng thành đến đâu trong giới hạn quyền hiện có.
Nguồn tham khảo: Phân tích kỹ thuật ns2jb của Sammy Hajhamid; Ars Technica; Notebookcheck.








