Bind 9.7.0-P1 validation errors

Bug #651875 reported by Antoin Verschuren
32
This bug affects 3 people
Affects Status Importance Assigned to Milestone
bind9 (Ubuntu)
Fix Released
Medium
Unassigned
Lucid
Won't Fix
Medium
LaMont Jones
Maverick
Won't Fix
Undecided
LaMont Jones

Bug Description

Binary package hint: bind9

Ubuntu 10.04 LTS still uses Bind 9.7.0-P1, which has a serious validation bug.
When turning on DNSSEC, NXdomains are reported as SERVFAILS:

; <<>> DiG 9.7.0-P1 <<>> www.bbc.net.uk aaaa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 46074

See also the discussion on the Bind User list: http://<email address hidden>/msg05701.html

There was a proposed patch, but it was never released because Bind 9.7.0 is no longer supported by ISC, and should be upgraded to Bind 9.7.2-P2 at least.

Since DNSSEC is gaining momentum, and more and more TLD's and domains are DNSSEC signed, this bug is starting to annoy more and more people that rely on log errors for Bind when introducing DNSSEC.

=== SRU ===
IMPACT: In some situations, when DNSSEC is enabled bind9 could incorrectly return SERVFAIL rather than a correct result. (http://www.isc.org/announcement/bind-9-dnssec-validation-fails-new-ds-record)

RESOLUTION: Correctly check that DNSSEC/DLV auth status before declaring the chain broken. Fixed upstream and cherry picked, as part of release 9.6.2-P2.

PATCH: http://bazaar.launchpad.net/~davewalker/ubuntu/lucid/bind9/lp_651875/revision/22

TEST CASE:
Setup bind9, enable DNSSEC and DLV validation
Lookup a DNSSEC domain.
Sign a TLD and insert it into the zone file. :P
Or.. Wait until March 31st when this will happen with .com
Lookup a DNSSEC domain (may have to wait for cache to expire)
Witness SERVFAIL on lookup.

DISCUSSION:
A good discussion of what happens if this isn't resolved is here, http://www.isc.org/community/blog/201004/dnssec-transitions-and-signing-arpa . The regression potential is low, limited to an additional 'if' check which originated from upstream and has been released a significant time.

Tags: testcase
Revision history for this message
Antoin Verschuren (ubuntu-antoin) wrote :

correction, the bug fix was released in Bind 9.7.0-P2:

 --- 9.7.0-P2 released ---

2876. [bug] Named could return SERVFAIL for negative responses
   from unsigned zones. [RT #21131]

 --- 9.7.0-P1 released ---

2852. [bug] Handle broken DNSSEC trust chains better. [RT #15619]

 --- 9.7.0 released ---

description: updated
Revision history for this message
Scott Moser (smoser) wrote :

Marking this as fix-released in maverick.
Getting the changes back to 10.04 will require following SRU guidelines at https://wiki.ubuntu.com/StableReleaseUpdates .

Changed in bind9 (Ubuntu):
importance: Undecided → Medium
status: New → Fix Released
Revision history for this message
Antoin Verschuren (ubuntu-antoin) wrote :

I have no experience in filing bugreports for Ubuntu, so I wonder what the status of this bug is, and what it's waiting for now ?
Cannot find any references to activities to fix this in Lucid....

Changed in bind9 (Ubuntu Lucid):
status: New → Confirmed
Dave Walker (davewalker)
description: updated
Dave Walker (davewalker)
Changed in bind9 (Ubuntu Lucid):
assignee: nobody → Dave Walker (davewalker)
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

We probably need this also:

2890.
[bug]
Handle the introduction of new trusted-keys and
DS, DLV RRsets better. [RT #21097]

as per the Verisign document here: http://www.verisignlabs.com/documents/BIND-DS-Servfail.pdf

Changed in bind9 (Ubuntu Lucid):
importance: Undecided → Medium
Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

A lot of development work to get dnssec properly supported and stabilized went into bind9 releases after lucid was released. Unfortunately, I don't see how it could be possible to backport all of those fixes into the version of bind currently in Lucid, especially since upstream does not have a public repository where individual patches can be looked at.

We have two choices:
1- Live with the version of bind we currently have in Lucid with known broken DNSSEC support
2- Do a one-time SRU of bind 9.7.3 into Lucid and Maverick, and revert to applying cherry-picked fixes in the future.

Since Lucid is an LTS release, it would be preferable to get proper DNSSEC support in it, especially before the March 31st deadline.

Revision history for this message
LaMont Jones (lamont) wrote :

In terms of supportability, I am FAR more comfortable supporting 9.7.3 than any attempt at backporting just the DNSSEC changes from 9.7.3 to some previous 9.7 release. Upstream tends to be very good about only putting fixes into fix-release version releases.

lamont

Revision history for this message
Martin Pitt (pitti) wrote :

http://bazaar.launchpad.net/~davewalker/ubuntu/lucid/bind9/lp_651875/revision/22 looks fine to me in any case. I agree that we should retrofit better DNSSEC support to lucid.

Do you have a changelog between 9.7.0-P1 and 9.7.3? If these changes look reasonable, and we have a reasonably well covering test suite for it (upstream or in our qa-regression-tests), I'm ok with SRUing this as well.

Thanks,

Martin

Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Here is the enormous changelog between 9.7.0 and 9.7.3. Probably half of those commits are necessary to get DNSSEC working properly.

The upstream package has an excellent and complete test suite, and instructions for running it are located in qa-regression-testing, along with a basic testing script.

Revision history for this message
Mark Foster (fostermarkd) wrote :

I agree that it makes more sense to go with 9.7.3 here. It's only a "minor" upgrade and .0 releases are historically problematic anyway.

Revision history for this message
Mark Foster (fostermarkd) wrote :

Amending my comment #9. This appears to qualify as micro-version release per https://wiki.ubuntu.com/StableReleaseUpdates/MicroReleaseExceptions and thus needs to be approved by the technical board for the criteria.

Revision history for this message
Dave Walker (davewalker) wrote :

@Mark, The Technical Board have already been invited for comment, via email. Thanks.

Revision history for this message
Matt Zimmerman (mdz) wrote :

MicroReleaseExceptions is a list of standing exceptions. It's not necessary to go through the tech board to handle one-off requests like this one. The SRU team can decide what to do here without TB involvement.

Dave Walker (davewalker)
Changed in bind9 (Ubuntu Lucid):
assignee: Dave Walker (davewalker) → LaMont Jones (lamont)
Changed in bind9 (Ubuntu Maverick):
assignee: nobody → LaMont Jones (lamont)
Revision history for this message
Martin Pitt (pitti) wrote :

Dave says we don't have a comprehensive test suite, instead he'll do a wide call for testing on the mailing list. This will then take a little longer to progress.

If this issue is urgent, I recommend backporting the single fix for this, as it's much safer and a lot quicker to test.

But I'm ok with either approach (or both).

Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Huh? Bind9 contains it's own test suite that pretty much covers all functionality. Instructions here:
http://bazaar.launchpad.net/~ubuntu-bugcontrol/qa-regression-testing/master/view/head:/build_testing/bind9/bind9-testing.txt

Revision history for this message
Dave Walker (davewalker) wrote :

I'm sorry, but I think I introduced some confusion. I thought we were talking about our derived test cases, rather than upstream test suite.

Revision history for this message
LaMont Jones (lamont) wrote : Re: [Bug 651875] Re: Bind 9.7.0-P1 validation errors

On Mon, Mar 28, 2011 at 02:36:16PM -0000, Martin Pitt wrote:
> If this issue is urgent, I recommend backporting the single fix for
> this, as it's much safer and a lot quicker to test.

The "single fix" in this case consists of all the DNSSEC cleanup and
bugfixing since the lucid version. I'd be uncomfortable trying to
maintain a franken-version...

lamont

Revision history for this message
Martin Pitt (pitti) wrote :

As you wish.

I had to reject the current lucid/maverick uploads, as they have an incomplete changelog which doesn't refer to this SRU bug (as the very minimum) and also don't give a rationale (remember that update-manager will prominently display the changelog, to aid users in deciding whether or not they want to install it).

Revision history for this message
Marc Deslauriers (mdeslaur) wrote :

Just a FYI, updates for lucid and maverick need to contain transitional packages for libdns* and libisc* since update-manager will not remove any package when installing updates...

tags: added: testcase
Changed in bind9 (Ubuntu Maverick):
status: New → Won't Fix
Changed in bind9 (Ubuntu Lucid):
status: Confirmed → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.