BIND 10 #987: b10-auth should chase CNAME in the same zone
BIND 10 Development
do-not-reply at isc.org
Wed Jun 1 03:44:24 UTC 2011
#987: b10-auth should chase CNAME in the same zone
-------------------------------------+-------------------------------------
Reporter: | Owner:
jinmei | Status: new
Type: | Milestone: Year 3 Task
defect | Backlog
Priority: major | Resolution:
Component: | Sensitive: 0
b10-auth | Sub-Project: DNS
Keywords: | Estimated Difficulty: 0.0
Defect Severity: N/A | Total Hours: 0
Feature Depending on Ticket: |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by each):
Replying to [ticket:987 jinmei]:
> We discussed this before, and it was open at that time.
>
> According to a recent incident report with BIND 9, there seems to be a
> user who relies on getting the chain (at least from the same zone)
> even from an authoritative server, so we should support it.
This is not quite correct. The issue in BIND 9 is that a server can be
configured to be both recursive ''and'' authoritative. If a server is
authoritative for example.com, and receives a request for data in
example.com from one of its recursive clients with RD set, then of course
it should answer as a recursive server would: with a complete CNAME chain.
But there was a bug in the interface between the BIND 9 recursive query
code and the authoritative server code, so that the authority part didn't
always give the full chain back to the recursive part. If this had been
an interaction between a recursive server and a separate authoritative
server, then the recursive server would simply have sent another query for
the target name, and assembled the CNAME chain that way. (In fact, it
would probably do this even if it ''had'' received a complete CNAME chain
from the authority server, as the authoritative response isn't necessarily
trustworthy for the target name.) But, as this particular recursive
server was querying ''itself'', it assumed it had received all the
information the authoritative server had, and it returned a broken chain.
What BIND 10 needs to do is ensure that a recursive (RD=1) request gets a
complete chain. RD=0 requests don't need to. There may be a slight
performance benefit to providing one when possible, but there are costs in
security and complexity that IMHO outweigh it.
--
Ticket URL: <http://bind10.isc.org/ticket/987#comment:1>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list