** Description changed:

+ [Impact]
+ 
+  * When ldns is compiled with gcc11 without a fix for
+    strict-aliasing it will silently emit wrong sha256 hashes
+ 
+  * This affected Jammy where it was build with GCC11 already
+    and a fix was uploaded there.
+ 
+  * If rebuilt as-is today in Impish it would expose that bad
+    behavior. But the build of today is still from hirsute with GCC10.
+    Therefore we want to avoid this from ever becoming a problem,
+    but at the same time have no reason to push an update all
+    the way through.
+    The intention is to get this into impish-proposed and stay there
+    in case any later fix/security-update comes by it will not
+    trigger this problem.
+ 
+ [Test Plan]
+ 
+ 
+ $ cat > root.key << EOF
+ .     86400   IN      DNSKEY  257 3 8 
AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=
 ;{id = 20326 (ksk), size = 2048b} ;;state=2 [  VALID  ]
+ EOF
+ 
+ $ ldns-key2ds -n -2 root.key
+ .     86400   IN      DS      20326 8 2 
+ 
+ wrong result:
+ 0ae721f59a19244008217c3d2a646183acef2f17cf4c30929a3f29d09311c05e
+ correct result:
+ e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
+ 
+ 
+ [Where problems could occur]
+ 
+  * If there is another - not yet discovered - issue with GCC11 it would
+    pick this one up; But it would do so as well without this fix and
+    with it we prevent at least one issue.
+ 
+  * If there was someone building ldns from package source relying on
+    strict-aliasing for anything this will now be disabled - but 
+    intentionally, so IMHO ok.
+ 
+ [Other Info]
+  
+  * As I mentioned above, this is not meant to migrate to -release,
+    we want it in -proposed to avoid a latter issue.
+ 
+ 
+ ---- original bug report ----
+ 
+ 
  Hi,
  originally this started by a finding of an FTFBS issue of dns-root-data [1] 
as reported in the most recent archive rebuild [2]
  
  But comparing those I've found that it is actually ldns that is broken,
  as it seems most likely by openssl3.0 changes.
  
  Separating this from dns-root-data, you can:
  
  $ cat > root.key << EOF
  .     86400   IN      DNSKEY  257 3 8 
AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=
 ;{id = 20326 (ksk), size = 2048b} ;;state=2 [  VALID  ]
  EOF
  
  $ ldns-key2ds -n -2 root.key
  .     86400   IN      DS      20326 8 2 
0ae721f59a19244008217c3d2a646183acef2f17cf4c30929a3f29d09311c05e
  
  The problem here is that this is the wrong hash.
  The very same file used to emit:
  .     86400   IN      DS      20326 8 2 
e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
  
  And on Impish it still does:
-  ldnsutils | 1.7.1-2build1     | impish/universe          | amd64, arm64, 
armhf, ppc64el, riscv64, s390x
-  ldnsutils | 1.7.1-2ubuntu3    | jammy/universe           | amd64, arm64, 
armhf, ppc64el, riscv64, s390x
+  ldnsutils | 1.7.1-2build1     | impish/universe          | amd64, arm64, 
armhf, ppc64el, riscv64, s390x
+  ldnsutils | 1.7.1-2ubuntu3    | jammy/universe           | amd64, arm64, 
armhf, ppc64el, riscv64, s390x
  
  The difference between the two builds related to this seem to be the
  openssl3.0 changes.
  
  I say it is sha256 explicitly as that is what "-2" selects.
  If I run with any of the other hashes jammy/impish still agree which tells me 
that the rest of the process is still good.
-        -1     Use SHA1 as the hash function.
-        -2     Use SHA256 as the hash function
-        -4     Use SHA384 as the hash function
+        -1     Use SHA1 as the hash function.
+        -2     Use SHA256 as the hash function
+        -4     Use SHA384 as the hash function
  
  root@j:~# /usr/bin/ldns-key2ds -n -1 root.key
  .     86400   IN      DS      20326 8 1 
ae1ea5b974d4c858b740bd03e3ced7ebfcbd1724
  root@j:~# /usr/bin/ldns-key2ds -n -4 root.key
  .     86400   IN      DS      20326 8 4 
538f47ba9bb88908e1dc335d6dfd51ca66b4d824192e6e6e210ae8cc18ece46a0f62b9f0d2f88dfc87d4bb8b8aed21cb
  
  root@i:~# /usr/bin/ldns-key2ds -n -1 root.key
  .     86400   IN      DS      20326 8 1 
ae1ea5b974d4c858b740bd03e3ced7ebfcbd1724
  root@i:~# /usr/bin/ldns-key2ds -n -4 root.key
  .     86400   IN      DS      20326 8 4 
538f47ba9bb88908e1dc335d6dfd51ca66b4d824192e6e6e210ae8cc18ece46a0f62b9f0d2f88dfc87d4bb8b8aed21cb
  
  The build compares this to a root-anchors.xml from
  http://data.iana.org/root-anchors/root-anchors.xml which also refers to
  "E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D" so
  I'm pretty sure our new build of ldns is the bad one here.
  
  [1]: 
https://people.canonical.com/~ginggs/ftbfs-report/test-rebuild-20220317-jammy-jammy.html#ubuntu-server-team
  [2]: 
https://launchpadlibrarian.net/591984954/buildlog_ubuntu-jammy-amd64.dns-root-data_2021011101_BUILDING.txt.gz

** Changed in: ldns (Ubuntu Impish)
       Status: Confirmed => In Progress

** Changed in: ldns (Ubuntu Impish)
     Assignee: (unassigned) => Christian Ehrhardt  (paelzer)

** Description changed:

  [Impact]
  
-  * When ldns is compiled with gcc11 without a fix for
-    strict-aliasing it will silently emit wrong sha256 hashes
+  * When ldns is compiled with gcc11 without a fix for
+    strict-aliasing it will silently emit wrong sha256 hashes
  
-  * This affected Jammy where it was build with GCC11 already
-    and a fix was uploaded there.
+  * This affected Jammy where it was build with GCC11 already
+    and a fix was uploaded there.
  
-  * If rebuilt as-is today in Impish it would expose that bad
-    behavior. But the build of today is still from hirsute with GCC10.
-    Therefore we want to avoid this from ever becoming a problem,
-    but at the same time have no reason to push an update all
-    the way through.
-    The intention is to get this into impish-proposed and stay there
-    in case any later fix/security-update comes by it will not
-    trigger this problem.
+  * If rebuilt as-is today in Impish it would expose that bad
+    behavior. But the build of today is still from hirsute with GCC10.
+    Therefore we want to avoid this from ever becoming a problem,
+    but at the same time have no reason to push an update all
+    the way through.
+    The intention is to get this into impish-proposed and stay there
+    in case any later fix/security-update comes by it will not
+    trigger this problem.
  
  [Test Plan]
- 
  
  $ cat > root.key << EOF
  .     86400   IN      DNSKEY  257 3 8 
AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=
 ;{id = 20326 (ksk), size = 2048b} ;;state=2 [  VALID  ]
  EOF
  
  $ ldns-key2ds -n -2 root.key
- .     86400   IN      DS      20326 8 2 
+ .     86400   IN      DS      20326 8 2
  
  wrong result:
  0ae721f59a19244008217c3d2a646183acef2f17cf4c30929a3f29d09311c05e
  correct result:
  e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
  
+ Note: To avoid confusion - once more to be clear - the ldns in impish as
+ of today is ok as it was built with older GCC, to see the bad-behavior
+ you'd need to rebuild it as-is.
  
  [Where problems could occur]
  
-  * If there is another - not yet discovered - issue with GCC11 it would
-    pick this one up; But it would do so as well without this fix and
-    with it we prevent at least one issue.
+  * If there is another - not yet discovered - issue with GCC11 it would
+    pick this one up; But it would do so as well without this fix and
+    with it we prevent at least one issue.
  
-  * If there was someone building ldns from package source relying on
-    strict-aliasing for anything this will now be disabled - but 
-    intentionally, so IMHO ok.
+  * If there was someone building ldns from package source relying on
+    strict-aliasing for anything this will now be disabled - but
+    intentionally, so IMHO ok.
  
  [Other Info]
-  
-  * As I mentioned above, this is not meant to migrate to -release,
-    we want it in -proposed to avoid a latter issue.
  
+  * As I mentioned above, this is not meant to migrate to -release,
+    we want it in -proposed to avoid a latter issue.
  
  ---- original bug report ----
- 
  
  Hi,
  originally this started by a finding of an FTFBS issue of dns-root-data [1] 
as reported in the most recent archive rebuild [2]
  
  But comparing those I've found that it is actually ldns that is broken,
  as it seems most likely by openssl3.0 changes.
  
  Separating this from dns-root-data, you can:
  
  $ cat > root.key << EOF
  .     86400   IN      DNSKEY  257 3 8 
AwEAAaz/tAm8yTn4Mfeh5eyI96WSVexTBAvkMgJzkKTOiW1vkIbzxeF3+/4RgWOq7HrxRixHlFlExOLAJr5emLvN7SWXgnLh4+B5xQlNVz8Og8kvArMtNROxVQuCaSnIDdD5LKyWbRd2n9WGe2R8PzgCmr3EgVLrjyBxWezF0jLHwVN8efS3rCj/EWgvIWgb9tarpVUDK/b58Da+sqqls3eNbuv7pr+eoZG+SrDK6nWeL3c6H5Apxz7LjVc1uTIdsIXxuOLYA4/ilBmSVIzuDWfdRUfhHdY6+cn8HFRm+2hM8AnXGXws9555KrUB5qihylGa8subX2Nn6UwNR1AkUTV74bU=
 ;{id = 20326 (ksk), size = 2048b} ;;state=2 [  VALID  ]
  EOF
  
  $ ldns-key2ds -n -2 root.key
  .     86400   IN      DS      20326 8 2 
0ae721f59a19244008217c3d2a646183acef2f17cf4c30929a3f29d09311c05e
  
  The problem here is that this is the wrong hash.
  The very same file used to emit:
  .     86400   IN      DS      20326 8 2 
e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
  
  And on Impish it still does:
   ldnsutils | 1.7.1-2build1     | impish/universe          | amd64, arm64, 
armhf, ppc64el, riscv64, s390x
   ldnsutils | 1.7.1-2ubuntu3    | jammy/universe           | amd64, arm64, 
armhf, ppc64el, riscv64, s390x
  
  The difference between the two builds related to this seem to be the
  openssl3.0 changes.
  
  I say it is sha256 explicitly as that is what "-2" selects.
  If I run with any of the other hashes jammy/impish still agree which tells me 
that the rest of the process is still good.
         -1     Use SHA1 as the hash function.
         -2     Use SHA256 as the hash function
         -4     Use SHA384 as the hash function
  
  root@j:~# /usr/bin/ldns-key2ds -n -1 root.key
  .     86400   IN      DS      20326 8 1 
ae1ea5b974d4c858b740bd03e3ced7ebfcbd1724
  root@j:~# /usr/bin/ldns-key2ds -n -4 root.key
  .     86400   IN      DS      20326 8 4 
538f47ba9bb88908e1dc335d6dfd51ca66b4d824192e6e6e210ae8cc18ece46a0f62b9f0d2f88dfc87d4bb8b8aed21cb
  
  root@i:~# /usr/bin/ldns-key2ds -n -1 root.key
  .     86400   IN      DS      20326 8 1 
ae1ea5b974d4c858b740bd03e3ced7ebfcbd1724
  root@i:~# /usr/bin/ldns-key2ds -n -4 root.key
  .     86400   IN      DS      20326 8 4 
538f47ba9bb88908e1dc335d6dfd51ca66b4d824192e6e6e210ae8cc18ece46a0f62b9f0d2f88dfc87d4bb8b8aed21cb
  
  The build compares this to a root-anchors.xml from
  http://data.iana.org/root-anchors/root-anchors.xml which also refers to
  "E06D44B80B8F1D39A95C0B0D7C65D08458E880409BBC683457104237C7F8EC8D" so
  I'm pretty sure our new build of ldns is the bad one here.
  
  [1]: 
https://people.canonical.com/~ginggs/ftbfs-report/test-rebuild-20220317-jammy-jammy.html#ubuntu-server-team
  [2]: 
https://launchpadlibrarian.net/591984954/buildlog_ubuntu-jammy-amd64.dns-root-data_2021011101_BUILDING.txt.gz

** Tags added: block-proposed

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1966237

Title:
  ldnsutils emits wrong sha256 hashes

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ldns/+bug/1966237/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to