2025 年 8 月 29 日消息博主为 Pybricks 项目贡献时想对二手乐高 NXT 原始 1.01 版固件存档过程中意外发现任意代码执行方法。前期调研无果博主原以为有人已存档该版本固件搜索后却未找到。虽找到提及 1.03 版固件的文章但特定的 1.01 版仍无存档。NXT 相关资源逐渐过时博主只能自己想办法提取。常规方法受阻博主先考虑用固件更新工具提取发现尝试进入 SAM - BA 引导加载程序会覆盖部分固件。使用 JTAG 虽可行但需拆开 NXT 焊接且调试接口麻烦博主希望找到纯软件方案。编写 NXT 程序提取也因虚拟机限制而不可行。关注 NXT 固件NXT 固件源代码虽公开但很多链接失效部分版本代码未存档。通过研究通信协议发现其限制多需找漏洞。IO 映射功能引起注意在相关文档中可找到其解释和偏移量。重大漏洞发现虚拟机的 IO 映射中包含函数指针 pRCHandler它是“直接”命令的处理函数。函数指针可改变程序行为若能修改它可能实现未预料功能。漏洞利用测试博主用 Python 和 PyUSB 库与 NXT 通信发送“读取 IO 映射命令”成功读取数据。通过改变偏移量和长度还读取到函数指针的值。编辑观点此次乐高 NXT 固件提取过程中的漏洞发现为嵌入式漏洞开发研究提供了新案例也提醒开发者在设计系统时要重视安全防护。