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.