[Bug 1796501] Re: systemd-resolved tries to mitigate DVE-2018-0001 even if DNSSEC=yes
Launchpad Bug Tracker
1796501 at bugs.launchpad.net
Mon Nov 25 11:18:51 UTC 2019
This bug was fixed in the package systemd - 240-6ubuntu5.8
---------------
systemd (240-6ubuntu5.8) disco; urgency=medium
[ Victor Tapia ]
* d/p/resolved_disable-connection-downgrade-when-DNSSEC-yes.patch
Fix regression introduced by
resolved-Mitigate-DVE-2018-0001-by-retrying-NXDOMAIN-with.patch when
DNSSEC=yes (LP: #1796501)
[ Dan Streetman ]
* d/p/lp1840640-shared-seccomp-add-sync_file_range2.patch:
allow sync_file_range2 in nspawn container (LP: #1840640)
* d/p/lp1847527-journal-remote-do-not-request-Content-Length-if-Tran.patch:
do not request Content-Length if Transfer-Encoding is chunked
(LP: #1847527)
* d/t/storage: fix flaky test
(LP: #1847815)
* d/p/lp1843381-dell_passthrough_skip_rename_retry.patch,
debian/extra/rules/73-usb-net-by-mac.rules:
fix rename delay for systems using "Dell MAC passthrough"
(LP: #1843381)
* d/p/lp1849733/0001-resolved-if-we-can-t-append-EDNS-OPT-RR-then-indicat.patch,
d/p/lp1849733/0002-resolved-don-t-let-EDNS0-OPT-dgram-size-affect-TCP.patch:
ignore EDNS0 payload limit when responding over TCP (LP: #1849733)
* d/p/lp1849658-resolved-set-stream-type-during-DnsStream-creation.patch:
- Fix bug in refcounting TCP stream types (LP: #1849658)
* d/extra/dhclient-enter-resolved-hook:
- only restart resolved if dhclient conf changed (LP: #1805183)
[ Balint Reczey ]
* d/p/test-execute-Filter-dev-.lxc-in-exec-dynamicuser-statedir.patch:
fix test breakage due to running in nested lxd container
(LP: #1845337)
-- Dan Streetman <ddstreet at canonical.com> Fri, 04 Oct 2019 09:06:58
-0400
** Changed in: systemd (Ubuntu Disco)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/1796501
Title:
systemd-resolved tries to mitigate DVE-2018-0001 even if DNSSEC=yes
Status in systemd package in Ubuntu:
Fix Released
Status in systemd source package in Bionic:
Fix Committed
Status in systemd source package in Cosmic:
Won't Fix
Status in systemd source package in Disco:
Fix Released
Bug description:
[impact]
an NXDOMAIN response from a dns server when systemd-resolved is
configured as DNSSEC=yes breaks dns resolution as it downgrades from
DNSSEC.
[test case]
see comment 9
[regression potential]
as with the original patch that introduced this problem, this has the
potential to break dns resolution.
[other info]
original description:
I ask systemd-resolved through dig to resolve the SOA of test.asdf. (doesn't exist) but it returns SERVFAIL instead of NXDOMAIN. It seems to do the following steps:
1. Ask upstream for SOA of test.asdf. with EDNS0, DO-bit and 4k size.
2. Ask upstream for SOA of test.asdf. with EDNS0 and DO-bit.
3. Ask upstream for SOA of test.asdf. with EDNS0.
4. Ask upstream for SOA of test.asdf. without EDNS0.
5. Repeat 1-4 for DS of test.asdf.
6. Repeat 1-5 for asdf.
7. Ask upstream for SOA of . with EDNS0, DO-bit and 4k size.
8. Ask upstream for DNSKEY of . with EDNS0, DO-bit and 4k size.
The upstream returns an unfragmented NXDOMAIN response for steps 1-6,
an unfragmented NOERROR response for step 7 and a fragmented NOERROR
response for step 8 which is the correct behaviour. DNSSEC records are
included in the response if the DO-bit in the request was set.
systemd-resolved should take the response from step 1 and start with
validation instead of starting useless retries with reduced feture
set. Step 3 and 4 are completely useless and probably lead to the
SERVFAIL because I have configured it with DNSSEC=yes to prevent
downgrade attacks.
This regression seems to be caused by the patch resolved-Mitigate-
DVE-2018-0001-by-retrying-NXDOMAIN-with.patch. The downgrade logic
should only be executed if it is configured as DNSSEC=allow-downgrade
or DNSSEC=no. See also
https://github.com/systemd/systemd/pull/8608#issuecomment-396927885.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1796501/+subscriptions
More information about the foundations-bugs
mailing list