Switch 2软件漏洞可运行《马力欧赛车世界》模组,但重启后失效

阅读约需 7 分钟
Switch 2 Software Exploit Runs Mario Kart World Mods, but Resets After Reboot

一款编程应用打开了通往Switch 2的路径

安全研究人员Sammy Hajhamid(网名pepsipu)展示了针对运行23.0.1固件的任天堂Switch 2的软件漏洞利用,并通过修改《马力欧赛车世界》中的比赛演示了该漏洞带来的权限。游戏中出现了大耳狗、初音未来和彼得·格里芬等角色,且无需安装硬件改机芯片。

目录
  1. 一款编程应用打开了通往Switch 2的路径
  2. 《马力欧赛车》演示展示了什么
  3. 初代Switch上的旧应用如何成为入口
  4. 第二个漏洞触及文件系统服务
  5. Codex提供了帮助,但研究耗时两周
  6. 为何放弃浏览器路径
  7. 用户需要什么,以及重启会清除什么
  8. 任天堂的回应与发布时间线
  9. 要点

这款名为ns2jb的工具结合了初代Switch上一款编程应用的缺陷,以及主机文件系统服务中的漏洞。Hajhamid表示,该工具可以在多个系统服务的权限下执行原生代码,为非官方应用、游戏修改以及从主机中复制存档等用途打开了可能性。

其核心限制很明确:主机重启后,相关访问权限就会消失。用户每次重启后都必须重新触发漏洞利用;目前它也无法提供持久化自制固件,即一种安装后可持续留在主机上的替代系统软件版本。

Hajhamid的技术说明日期为2026年10月18日,公开演示则于10月22日发布。他指出,当时最新的固件版本是23.0.1。据称,这项研究耗时约两周,期间使用了OpenAI的Codex编程工具,开发者本人也投入了大量工作。

在描述该演示的相关报道发布时,任天堂尚未公开置评。据称,作为漏洞入口的编程应用SmileBASIC 4已从部分地区的eShop下架,这让希望研究该漏洞的人首先面临如何获取所需软件的问题。

《马力欧赛车》演示展示了什么

《马力欧赛车世界》呈现了最直观的成果:熟悉的车手旁出现了来自任天堂游戏之外的角色。演示中的角色包括大耳狗、初音未来、彼得·格里芬和红色愤怒的小鸟RED。对修改版游戏的描述中也提到了《我的世界》中的史蒂夫。

更重要的变化发生在比赛背后。原生代码执行是指直接在主机处理器上运行指令,而不是局限于游戏或编程应用通常允许的命令。与代码关联的权限决定了它能够访问主机的哪些部分。

广告

被确认是加州理工学院本科生的安全研究人员Hajhamid介绍了这类访问权限的预期用途:

这让我们能够运行自制软件、逆向分析和修改Switch 2游戏、备份Switch存档,并通过MMIO访问Switch 2的大多数外设。

自制软件是指在主机制造商批准的分发体系之外开发的非官方软件。逆向分析是指检查现有软件的工作方式。MMIO是内存映射输入输出的简称,指软件通过指定的内存地址与硬件通信。

这些能力对不同群体有不同意义。玩家可能想要单独备份存档,模组制作者可能想替换游戏角色,研究人员则可能希望检查某项系统服务。它们都依赖于普通游戏通常无法获得的访问权限。

初代Switch上的旧应用如何成为入口

SmileBASIC 4允许用户在初代任天堂Switch上编写并运行程序。Switch 2通过向下兼容功能运行这款软件,也就是让旧主机游戏能够在后继主机上运行。借助这一机制,Hajhamid得以通过旧软件找到进入新主机的路径。

第一个缺陷是SmileBASIC解释器中的整数溢出。解释器负责读取并执行编程命令。整数溢出是指计算结果超出计算机为某个数字预留的范围,导致结果回绕成另一个数值。

在本例中,用于检查数组操作的计算可能回绕成负数。数组是一组存储值的列表。检查因此接受了原本应被拒绝的操作,后续的一次内存复制则将数据写到了预定区域之外。

Hajhamid称,他利用这一行为让程序把数组的一部分当作字符串处理。这种混淆为读取和修改超出程序预定边界的内存创造了条件。最初的研究可以在初代Switch上进行,随后作为Switch 2漏洞利用链的一环。

SmileBASIC此前曾被用于任天堂3DS上的自制软件漏洞利用。在这次研究中,它的特殊价值在于,这款旧应用可以为针对新主机的攻击提供第一阶段入口。

广告

第二个漏洞触及文件系统服务

在SmileBASIC中获得访问权限只是第一步。接下来,Hajhamid将目标转向内置文件系统服务fs,该服务负责处理存储操作。要突破编程应用的限制,就必须进入权限更广泛的服务。

第二个漏洞与路径规范化有关。文件路径用于告诉软件在存储设备的什么位置查找内容;路径规范化会先将路径整理为标准形式,再交由系统使用。Hajhamid描述了一种情况:该服务将路径复制到一个容量过小的临时缓冲区中。

缓冲区是预留的内存区域。数据越过边界后,可能覆盖附近的信息。Hajhamid利用这一溢出影响了存储缓存对象,从而能够读写文件系统服务中的内存。

随后,他修改了SmileBASIC连接所记录的进程身份,获得了更广泛的文件系统权限。这使他能够复制内部存储内容以及普通系统模块的代码,以供检查。系统模块,也称sysmodule,是为操作系统执行各项任务的服务。

据Hajhamid介绍,ns2jb由此具备了以普通系统模块和内置文件系统模块身份运行原生代码的能力。因此,这条漏洞利用链分为两个不同阶段:先通过SmileBASIC打开入口,再利用第二个漏洞获取更广泛的权限。

Codex提供了帮助,但研究耗时两周

Hajhamid在研究期间使用了OpenAI的Codex,并搭建了一套定制环境,让AI代理能够向主机发送控制器输入并查看视频输出。JetKVM设备通过USB连接控制器输入,并通过HDMI采集视频。

一套蓝牙灯光开关装置为这套环境提供了一个特别但实用的功能:主机崩溃后,它会物理按下主机电源键。在这类内存研究中,反复崩溃并不罕见,因此重启硬件也是测试过程的一部分。

据Hajhamid的说法,Codex发现了SmileBASIC中可利用的整数溢出。整个研究还包括调查系统服务、检查代码,以及开发能够触及文件系统服务的漏洞利用链。Hajhamid表示,他本人负责调查该服务,同时AI代理探索其他目标。

广告

这名开发者澄清说,关于只需告诉AI越狱主机的玩笑式配文,并非实际过程。最初尝试通过另一条路径实现代码执行未能成功,而完成越狱需要约两周的大量工作。

Hajhamid表示,Codex用一天时间制作出了《马力欧赛车世界》修改版。这说明,趣味性演示所用的时间与背后的安全研究并不在同一量级:角色修改是在更艰难的权限获取工作完成后才实现的。

为何放弃浏览器路径

WebKit是最初尝试的目标,也是一款浏览器引擎,因为浏览器会处理复杂内容,长期以来一直是安全研究的重点。Hajhamid的方案尝试通过定制Wi-Fi网络门户触达WebKit。设备连接网络时可能会出现这类页面。

这一方法遇到了多项防护措施。仅执行内存限制了对可执行指令的读取,使得寻找可用代码序列更加困难。指针认证会在使用特定地址前进行检查,而控制流完整性则会检查部分执行跳转是否遵循允许的路径。

最初的浏览器研究获得了较有限的控制能力,但未能实现预期越狱所需的、与系统服务进行任意通信的能力。因此,Hajhamid转而探索SmileBASIC路径,浏览器研究则继续单独开展。

他指出,将文件系统漏洞利用移植到WebKit可能是后续研究方向。这或许能提供另一种入口,但他没有给出这类版本的发布时间。他还表示,该漏洞已在初代Switch上进行测试,但尚未打包为适用于该主机的版本。

用户需要什么,以及重启会清除什么

所述路径使用SmileBASIC 4的4.4.9版本。据称,该应用在美国eShop的售价约为25美元。另一位模组制作者表示,这款应用或许并非绝对必需,但已演示的漏洞利用链是从这款编程应用开始的。其他路径的实际要求尚未明确。

人们也关注起免费的日区试用版,希望借此获取软件。据称,该试用版与漏洞利用不兼容。因此,对于这一特定方法,试用版和付费版据称有着不同的实用性。

广告

据称,ns2jb属于需要重新触发的漏洞利用。在本例中,这意味着主机每次启动后,都必须从游戏中再次启动漏洞利用。重启会清除内存中处于活动状态的漏洞利用,并使受影响的进程恢复正常状态。

软件漏洞利用与持久化自制固件提供的是不同类型的访问权限。ns2jb改变的是活动会话期间能够运行的内容。要实现持久化自制固件,还需要额外机制,使其在重启后仍能继续工作。

据称,当前操作说明对普通玩家而言也较难掌握。因此,眼下主要适用于研究人员和技术经验丰富的模组制作者,而非所有希望通过简单菜单安装非官方应用的主机用户。

任天堂的回应与发布时间线

演示发布后不久,SmileBASIC 4的供应情况便引发关注。据称,一些用户购买该应用后断开主机的网络连接,因为他们担心系统更新会封堵漏洞。演示发布前后的相关报道提到,该应用可能即将下架,也有报道称它已从部分地区商店消失。

这些报道发布时,任天堂尚未作出官方说明,也未宣布补丁。关于商店下架的报道是否属实、涉及哪些地区,均未得到证实。将应用从商店下架会限制新的购买;而系统或软件更新则可以通过其他方式修复存在漏洞的代码。

公告和技术说明中提到的日期如下:

  • 2026年10月18日:Hajhamid的技术说明发布,介绍了针对23.0.1固件的ns2jb软件漏洞利用。
  • 2026年10月22日:Hajhamid公开分享《马力欧赛车世界》演示并宣布越狱。
  • 10月22日前后:用户讨论购买SmileBASIC 4,相关报道则称该应用可能已从部分地区的eShop下架,或已经完成下架。

开发者Geziné曾披露一个影响两代Switch主机的独立漏洞。他表示自己与pepsipu交谈过,并认为该工具看起来可信。Geziné还称,pepsipu知道他开发的另一个用户模式漏洞利用。

Hajhamid称,据他所知,ns2jb是首个此类Switch 2漏洞利用。它目前的主要价值在于提供了一条可行路径,以开展更深入的软件研究和游戏修改,但在持久性和易用性方面仍有明显限制。

广告

要点

  • 据称,ns2jb可在不安装硬件改机芯片的情况下,适用于运行23.0.1固件的Switch 2。
  • 演示中的漏洞利用链结合了SmileBASIC内存缺陷与文件系统服务漏洞。
  • 网名pepsipu的Sammy Hajhamid在约两周的研究期间使用了OpenAI的Codex。
  • 《马力欧赛车世界》演示中出现了大耳狗、初音未来和彼得·格里芬等自定义角色。
  • 主机重启后漏洞利用会失效,目前无法提供持久化自制固件。
  • 所述入口使用SmileBASIC 4的4.4.9版本;有报道称部分地区的商店已将其下架,而任天堂尚未公开置评。
分享本文

猜你喜欢