Nintendo · Report #469997
NEX: Stack overflow in UnicodeToUtf8
Summary
During match making, Nintendo games send an IP address to the game server, which forwards it to other consoles in order to facilitate NAT traversal. The receiving console converts the IP address from a platform-specific encoding to UTF-8. On the 3DS, Wii U and Switch, the function that does the conversion was vulnerable to a stack overflow.
In Switch games, an attacker could crash the game on a victim console, or gain remote code execution if the attacker is able to bypass ASLR. In 3DS and Wii U games, an attacker could immediately gain remote code execution through ROP, since there are no ASLR protections in place.
Due to the way that NAT traversal is implemented, an attacker could request the server to send the exploit to many consoles at once.
The vulnerability was fixed by validating the IP address on the server before forwarding it to other consoles.
More details about the vulnerability can be found here.
How it was found
The write-up for this report has not been downloaded yet, or the program disclosed it without one. Read it on HackerOne.