NEX: UnicodeToUtf8栈溢出漏洞
漏洞概述
在匹配对战过程中,任天堂游戏将IP地址发送至游戏服务器,服务器将其转发给其他主机以协助NAT穿越。接收主机需要将IP地址从平台特定编码转换为UTF-8格式。在3DS、Wii U和Switch平台上,负责该转换的函数存在栈溢出漏洞。
影响分析
- Switch平台: 攻击者可导致受害者主机游戏崩溃,若成功绕过ASLR防护可实现远程代码执行
- 3DS/Wii U平台: 由于缺乏ASLR保护,攻击者可通过ROP链直接实现远程代码执行
- 攻击规模化: 基于NAT遍历的实现机制,攻击者可请求服务器同时向多台主机发送攻击载荷
修复方案
通过在服务器端转发前验证IP地址的有效性,已成功修复该漏洞。
时间线
- 2018年12月19日: 研究人员kinnay提交漏洞报告
- 2018年12月21日: 任天堂员工tattsun确认漏洞
- 2019年1月7日: 标记为重复报告
- 2023年4月17日: 严重等级调整为无
- 2024年3月27日: 请求公开披露
- 2024年5月1日: 双方达成披露共识
- 2025年6月27日: 正式公开披露
技术参数
- 弱点类型: 栈溢出(Stack Overflow)
- CVE编号: 无
- 赏金状态: 隐藏
- 验证状态: 研究人员已完成身份验证和背景调查