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日:请求公开此报告
- 2025年6月27日:同意公开此报告
技术详情
- 报告ID:#469997
- 漏洞类型:栈溢出
- 严重等级:无(0.0)
- CVE ID:无
- 赏金状态:隐藏