#132 crash when handling DNS64 query
Closed: Fixed None Opened 10 years ago by pspacek.

Ticket was cloned from Red Hat Bugzilla (product Fedora): Bug 1076775

Version-Release number of selected component:
bind-9.9.3-14.P2.fc19
bind-dyndb-ldap-3.5-1.fc19

Additional info:
reporter:       libreport-2.1.12
backtrace_rating: 4
cmdline:        /usr/sbin/named -u named
crash_function: assertion_failed
executable:     /usr/sbin/named
kernel:         3.13.5-101.fc19.x86_64
runlevel:       unknown
type:           CCpp
uid:            25

Truncated backtrace:
Thread no. 1 (8 frames)
 #2 assertion_failed at ./main.c:219
 #3 isc_assertion_failed at assertions.c:57
 #4 dns_db_detachnode at db.c:636
 #5 query_find at query.c:6507
 #6 ns_query_start at query.c:7790
 #7 client_request at client.c:1970
 #8 dispatch at task.c:1116
 #9 run at task.c:1286

--- Additional comment from Petr Spacek on 2014-03-18 13:05:39 CET ---
Do you know the DNS query which causes the crash?

--- Additional comment from William Brown on 2014-03-18 23:59:37 CET ---
Any query that requests a hostname that does NOT return a AAAA from an ldap backed domain. IE for example.com, if a host such as foo.example.com has an A record, but no AAAA and you run:

dig foo.example.com AAAA

You will crash the named server.

--- Additional comment from Petr Spacek on 2014-03-19 15:33:37 CET ---
I have reproduced the crash. You have DNS64 enabled, haven't you?

I added this snippet to my named.conf:
dns64 ::ffff:0:0/96 {
clients { any; };
exclude { none; };
};

And now it crashes if I do a DNS query for a name with A record but without AAAA record.


I have tested this configuration on Fedora 20 with bind-dyndb-ldap-4.1-1.fc20.x86_64 and it doesn't crash:

# dig @127.0.0.1 vm.ipa.example.
; <<>> DiG 9.9.4-P2-RedHat-9.9.4-11.P2.fc20 <<>> @127.0.0.1 vm.ipa.example.
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28368
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;vm.ipa.example.            IN  A

;; ANSWER SECTION:
vm.ipa.example.     86400   IN  A   192.0.2.111

;; AUTHORITY SECTION:
ipa.example.        86400   IN  NS  vm.ipa.example.

;; Query time: 3 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: St bře 19 16:12:50 CET 2014
;; MSG SIZE  rcvd: 106

# @127.0.0.1 vm.ipa.example. -t AAAA
; <<>> DiG 9.9.4-P2-RedHat-9.9.4-11.P2.fc20 <<>> @127.0.0.1 vm.ipa.example. -t AAAA
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32301
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;vm.ipa.example.            IN  AAAA

;; ANSWER SECTION:
vm.ipa.example.     3600    IN  AAAA    ::ffff:192.0.2.111

;; AUTHORITY SECTION:
ipa.example.        86400   IN  NS  vm.ipa.example.

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: St bře 19 16:12:53 CET 2014
;; MSG SIZE  rcvd: 118

# dig @127.0.0.1 vm.ipa.example. -t ANY
; <<>> DiG 9.9.4-P2-RedHat-9.9.4-11.P2.fc20 <<>> @127.0.0.1 vm.ipa.example. -t ANY
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29670
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;vm.ipa.example.            IN  ANY

;; ANSWER SECTION:
vm.ipa.example.     86400   IN  A   192.0.2.111

;; AUTHORITY SECTION:
ipa.example.        86400   IN  NS  vm.ipa.example.

We don't have enough time to fix it in 3.x branch. Please migrate to version 4.x or higher if you are hitting this bug.

Metadata Update from @pspacek:
- Issue assigned to pspacek
- Issue set to the milestone: Fedora 20

7 years ago

Login to comment on this ticket.

Metadata