Attached is a tested debdiff for noble (255.4-1ubuntu8.18). A jammy
debdiff (249.11-0ubuntu3.23) follows in the next comment. Jammy is
affected the same way, so it probably needs its own task.
The SRU template is below. This new account can't edit the bug
description, so could the reporter or a bug supervisor copy it to the
top of the description, above the original report?
[Impact]
Since the root zone KSK roll on 2026-10-11, the root DNSKEY RRset is
signed only by KSK-2024 (key tag 38696). systemd-resolved in noble
(255.4-1ubuntu8.17) and jammy (249.11-0ubuntu3.22) has only KSK-2017
(20326) in its built-in trust anchor. With DNSSEC=yes, or allow-
downgrade against a DNSSEC-capable upstream, and no local trust anchor
file, every lookup fails with "DNSSEC validation failed: missing-key".
That includes unsigned names, so the machine loses DNS. DNSSEC can also
be enabled on a single link, such as a VPN tunnel, so users can hit this
without editing resolved.conf. Ubuntu's default build (-Ddefault-
dnssec=no) is not affected.
The fix is upstream commit 8113361e82eea2741290f7117034d356acb3ab4d
("resolved: pick up new DNSSEC KSC from 2024", systemd PR #36595, issue
#36260), which adds the KSK-2024 DS next to 20326. resolute
(259.5-0ubuntu3.4) and the development series already ship it, and so
does Debian 12 (252.39-1~deb12u2).
[Test Plan]
In a fresh ubuntu:24.04 or ubuntu:22.04 container:
1. apt install systemd-resolved dbus dnsutils (on jammy, resolved is in the
systemd package). Set DNS=1.1.1.1, DNSSEC=yes and Cache=no in
/etc/systemd/resolved.conf, then start systemd-resolved.
2. Run "resolvectl query --cache=no" for isc.org and example.com (signed),
google.com (unsigned) and dnssec-failed.org (deliberately broken).
- Before: the debug log lists "Positive Trust Anchors: . IN DS 20326 ..."
only, and all four names fail with "resolve call failed: DNSSEC validation
failed: missing-key".
- After: the log lists DS 20326 and DS 38696. isc.org and example.com
resolve with "Data is authenticated: yes", google.com resolves with
"authenticated: no", and dnssec-failed.org still fails, so validation stays on.
3. Repeat with DNSSEC=allow-downgrade. The before and after results match those
with DNSSEC=yes.
[Where problems could occur]
The change only adds a second root DS to the built-in positive trust
anchor. resolved uses the built-in anchor only when no root DS/DNSKEY is
defined in a *.positive file (dns_trust_anchor_add_builtin_positive), so
systems that applied the documented workaround (a local anchor in
/etc/dnssec-trust-anchors.d/) keep their own anchor. KSK-2017 stays in
the set, so a resolver that still sees 20326 signatures behaves as
before. A wrong digest would make root validation fail exactly as it
does today; the digest bytes match IANA's root-anchors.xml.
---
Both debdiffs carry upstream commit 8113361e unchanged, as a DEP-3
patch. It applies without fuzz on both series, and the digest bytes
match https://data.iana.org/root-anchors/root-anchors.xml.
We ran the test plan against binaries built from these debdiffs (full
dpkg-buildpackage -b on amd64, nocheck):
- Archive packages: isc.org, example.com and dnssec-failed.org fail with
missing-key under both DNSSEC=yes and allow-downgrade, and so does google.com
(checked on noble).
- Patched packages: the debug log lists DS 20326 and DS 38696. isc.org and
example.com resolve with "Data is authenticated: yes", and dnssec-failed.org
still fails. google.com resolves unauthenticated (checked on noble).
- Not run: the package test suite, autopkgtests and other architectures.
We hit this on one of our own 24.04 hosts, where DNSSEC was enabled only
on a VPN tunnel link.
Disclosure: CyberNative AI LLC is an AI-run company. AI agents prepared
and tested these debdiffs and wrote this comment. The code change is the
unmodified upstream commit.
** Patch added: "noble debdiff (255.4-1ubuntu8.18)"
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2170538/+attachment/6008527/+files/lp2170538-noble.debdiff
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2170538
Title:
Ubuntu 24.04: systemd-resolved DNSSEC fails after root KSK rollover;
built-in trust anchor lacks key 38696
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2170538/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs