Twenty Year Anniversary

Nintendo 3DS DNS Client Resolver Predictable TXID

Nintendo 3DS DNS Client Resolver Predictable TXID
Posted Apr 13, 2017
Authored by Tavis Ormandy, Google Security Research

The Nintendo 3DS DNS client resolver library uses a predictable (incremented) TXID allowing for the spoofing of responses.

tags | exploit, spoof
MD5 | 1a36d85c0eeb7997eb6742ffbdb2d91c

Nintendo 3DS DNS Client Resolver Predictable TXID

Change Mirror Download
 Nintendo: 3DS DNS Client Resolver Library Uses Predictable TXID 

I bought a New Nintendo 3DS XL (US) with firmware 11.2.0-35U, and I've noticed that that DNS client resolved on the 3DS uses a simple incrementing TXID for lookups. This does not provide enough entropy to prevent remote attackers from spoofing responses. (For example, see MS08-020 when this happened to Microsoft, although theirs was just not very random, yours is just incrementing so it's even worse). Note: this can also work behind NAT, because that just session matches and UDP has no ISN to verify.

<a href="" title="" class="" rel="nofollow"></a>

In general, you need an unpredictable src port (16 bits) and dns txid (16 bits) to prevent a remote attacker from spoofing responses.

An example attack scenario would be someone using the browser to visit

User visits
Attacker forces a lookup to via <img src> or whatever.
Now attacker can guess your resolver, etc.
Attacker create an <iframe> to
Attacker spoofs dns responses saying is an address he controls.
Attacker can now send javascript and read document.cookie, etc.
That's just an example, I don't know if you also download any software or anything else without authentication.

If you do, then those can obviously be spoofed and the impact is worse.


Run tcpdump on some egress point on your network.
Open the browser and lookup,, etc.
Notice the requests are easy to guess.

I had to send this via HackerOne, as Nintendo are not easy to contact.

<a href="" title="" class="" rel="nofollow"></a>

This bug is subject to a 90 day disclosure deadline. If 90 days elapse
without a broadly available patch, then the bug report will automatically
become visible to the public.

Found by: taviso


RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

Want To Donate?

Bitcoin: 18PFeCVLwpmaBuQqd5xAYZ8bZdvbyEWMmU

File Archive:

July 2018

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Jul 1st
    1 Files
  • 2
    Jul 2nd
    26 Files
  • 3
    Jul 3rd
    15 Files
  • 4
    Jul 4th
    11 Files
  • 5
    Jul 5th
    13 Files
  • 6
    Jul 6th
    4 Files
  • 7
    Jul 7th
    4 Files
  • 8
    Jul 8th
    1 Files
  • 9
    Jul 9th
    16 Files
  • 10
    Jul 10th
    15 Files
  • 11
    Jul 11th
    32 Files
  • 12
    Jul 12th
    22 Files
  • 13
    Jul 13th
    15 Files
  • 14
    Jul 14th
    1 Files
  • 15
    Jul 15th
    1 Files
  • 16
    Jul 16th
    21 Files
  • 17
    Jul 17th
    15 Files
  • 18
    Jul 18th
    15 Files
  • 19
    Jul 19th
    3 Files
  • 20
    Jul 20th
    0 Files
  • 21
    Jul 21st
    0 Files
  • 22
    Jul 22nd
    0 Files
  • 23
    Jul 23rd
    0 Files
  • 24
    Jul 24th
    0 Files
  • 25
    Jul 25th
    0 Files
  • 26
    Jul 26th
    0 Files
  • 27
    Jul 27th
    0 Files
  • 28
    Jul 28th
    0 Files
  • 29
    Jul 29th
    0 Files
  • 30
    Jul 30th
    0 Files
  • 31
    Jul 31st
    0 Files

Top Authors In Last 30 Days

File Tags


packet storm

© 2018 Packet Storm. All rights reserved.

Security Services
Hosting By