[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#541167: libc6: all DNS lookups fail when getting null responses for AAAA queries



Package: libc6
Version: 2.9-23
Severity: normal

Recently I was in a cafe (with ghod knows what brand wireless router) and
could not make any external connections with either ssh or Iceweasel.  Packet
traces suggest that getaddrinfo() is failing when it gets a null response to
an AAAA query, even if a usable ipv4 address comes back in response to the
simultaneous A query.  Disabling ipv6 at the application level (e.g. by the
hidden preference "network.dns.disableIPv6" in Iceweasel -- presumably this
corresponds to AF_INET instead of AF_UNSPEC in hints->ai_family) makes libc
send out only A queries, and not fail.

An alternative possibility is that the problem instead has to do with the
router glitching and returning a response to one of the AAAA queries from
the wrong IP address (as you can see in the traces).  I would think that
any response from the wrong IP should be dropped on the floor immediately,
and not affect processing of other responses to the same query; otherwise
anyone with the ability to eavesdrop on DNS traffic and inject packets can
cause a denial of service.

Here's the traces.  The query for "weather.noaa.gov" at the bottom happened
after I turned off IPv6 in Iceweasel.  That query corresponds to a successful
HTTP connection.  All other traffic corresponds to a failed SSH session -
the ssh client reported "Name or service not known."

13:56:51.148159  localwf.39054 > router.domain: 55862+ A? ssh.phx.nearlyfreespeech.net. (46)
13:56:51.148726  localwf.39054 > router.domain: 36807+ AAAA? ssh.phx.nearlyfreespeech.net. (46)
13:56:51.199915  router.domain > localwf.39054: 55862 1/0/0 ssh.phx.nearlyfreespeech.net. A 208.94.116.211 (62)
13:56:51.200026  192.168.1.254.domain > localwf.39054: 36807- 0/0/0 (46)

13:56:56.152454  localwf.39054 > router.domain: 55862+ A? ssh.phx.nearlyfreespeech.net. (46)
13:56:56.166831  router.domain > localwf.39054: 55862 1/0/0 ssh.phx.nearlyfreespeech.net. A 208.94.116.211 (62)

13:56:56.166967  localwf.39054 > router.domain: 36807+ AAAA? ssh.phx.nearlyfreespeech.net. (46)
13:56:56.179970  router.domain > localwf.39054: 36807- 0/0/0 (46)

13:56:56.180156  localwf.46773 > router.domain: 55862+ A? ssh.phx.nearlyfreespeech.net. (46)
13:56:56.196814  router.domain > localwf.46773: 55862 1/0/0 ssh.phx.nearlyfreespeech.net. A 208.94.116.211 (62)

13:56:56.196945  localwf.46773 > router.domain: 36807+ AAAA? ssh.phx.nearlyfreespeech.net. (46)
13:56:56.211236  router.domain > localwf.46773: 36807- 0/0/0 (46)

13:57:27.972080  localwf.59196 > router.domain: 57109+ A? weather.noaa.gov. (34)
13:57:27.985029  router.domain > localwf.59196: 57109 1/0/0 weather.noaa.gov. A 140.90.128.70 (50)




-- System Information:
Debian Release: squeeze/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.30-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libc6 depends on:
ii  libgcc1                       1:4.4.1-1  GCC support library

libc6 recommends no packages.

Versions of packages libc6 suggests:
pn  glibc-doc                     <none>     (no description available)
ii  locales                       2.9-23     GNU C Library: National Language (

-- debconf information:
  glibc/upgrade: true
  glibc/disable-screensaver:
  glibc/restart-failed:
  glibc/restart-services:



Reply to: