Researcher Demonstrates Remote Code Execution in Neverwinter Nights Multiplayer
· 26:57 · Watch on YouTube ↗
Summary
Thomas Dubier demonstrates remote code execution in Neverwinter Nights via malformed multiplayer messages: a memory leak defeats ASLR, enabling an out-of-bounds write to overwrite a return address. He warns re-released games may retain old bugs and lack mitigations.
Key points
- Dubier examines old and re-released games, noting that multiplayer networking can expose game clients to attack.
- In Neverwinter Nights, a server message with an unchecked index can trigger an out-of-bounds write that may overwrite a return address.
- A separate integer-underflow issue in message handling can expose client memory, providing a route to disclose the program's base address and bypass ASLR.
- A malicious server can use the portal transition to send the client to a second server and receive character-file data containing memory.
- Dubier combines the memory disclosure with the write primitive to demonstrate remote code execution against a client.
- He notes that re-released games can retain older vulnerabilities and may lack mitigations; a game loader can also disable DEP.
Article Details
- Topics
- [00:12] Research scope: reverse engineering older games and investigating bugs that can lead to code execution.
- [02:44] Examples of vulnerabilities in older games and how missing mitigations affect exploitability.
- [07:07] Neverwinter Nights research background and its multiplayer attack surface.
- [09:01] Multiplayer protocols, message structure, and server-client communication.
- [14:23] Client-side stack overflow and out-of-bounds write vulnerabilities.
- [16:05] Integer underflow and memory disclosure used to obtain the program base address.
- [18:51] Portal transitions and character-file transfer used in the exploit chain.
- [25:17] Conclusions on security review and mitigations in re-released games.
