#1124033 uscan: upstream key verification fails with sqopv

Package:
devscripts
Source:
devscripts
Description:
scripts to make the life of a Debian Package maintainer easier
Submitter:
Lucas Nussbaum
Date:
2026-01-05 17:19:03 UTC
Severity:
normal
#1124033#5
Date:
2025-12-26 17:45:33 UTC
From:
To:
Hi,

With devscripts 2.25.30 and sqopv 0.37.2-1
With https://deb.debian.org/debian/pool/main/libx/libxi/libxi_1.8.2-2.dsc (but many other packages are affected)

Running uscan -v --download-current-version --dehs --destdir=../uscan

uscan info: Verifying OpenPGP signature ../uscan/libXi-1.8.2.tar.gz.sig for ../uscan/libXi-1.8.2.tar.gz
           No acceptable signatures found
uscan: error: sopv verify ../uscan/libXi-1.8.2.tar.gz.sig debian/upstream/signing-key.asc subprocess returned exit status 3

With gpgv (after deinstalling sqopv):
uscan info: Verifying OpenPGP signature ../uscan/libXi-1.8.2.tar.gz.sig for ../uscan/libXi-1.8.2.tar.gz
gpgv: Signature made Thu 05 Sep 2024 01:20:02 AM UTC
gpgv:                using DSA key 3C2C43D9447D5938EF4551EBE23B7E70B467F0BF
gpgv: Good signature from "Peter Hutterer (Who-T) <office@who-t.net>"
uscan info: New orig.tar.* tarball version (oversionmangled): 1.8.2

I could not figure out why it fails.

It also fails with sopv from the 'gosop' package.

Lucas

#1124033#10
Date:
2025-12-26 20:05:00 UTC
From:
To:
Hi Lucas (2025.12.26_13:45:33_-0400)

I would assume this is the issue, a 1k DSA signature.

The spec says:

And from what I can see Sequoia's standard policy rejects keys shorter
than 2k for messages created later than 2014.

Stefano

#1124033#15
Date:
2026-01-05 08:01:45 UTC
From:
To:
I wonder if this is really what we want for uscan.  Debian can impose a
policy on Debian developers' keys, but this is about upstream
developers' keys: isn't a weak key/signature better than no signature at
all?

Lucas

#1124033#20
Date:
2026-01-05 17:15:50 UTC
From:
To:
Hi
I'll try to reason a bit about it and supply my opinions on the
matter.

First an assumption: The validation protects against a real attack
scenario, I consider the question of this should be done at all to be
out of scope.

Then it maybe be useful to try to put a monetary value on how weak the
key is, so that we can try to get a gut feeling on what we are talking
about.

Based on some googling and finding numbers on the internet ( this
answer: https://security.stackexchange.com/a/275759 and that a more
modern miner uses 9.5 Joules of energy per tera-hash
https://www.asicminervalue.com/miners/bitmain/antminer-s23-hyd-580th)
gives a ball park number of $400k to break such a key. There is a lot
to critique about this methodology to find a number, but it gives a
ballpark at least.

This puts the attack out of reach for most individuals, but within
reach of all organizations and nation states.

We can also look at what the large standardization organizations say
about DSA keys:

FIPS: have forbidden the verification of DSA signatures made after
february 2023.
CA/Browser Forum Baseline Requirements banned DSA certificates.
OpenSSH disabled DSA support by default in OpenSSH 7.0.

We can also assume that the reason that the upstream maintainer
performs the extra work of signing their releases are because that it
protects against an attack scenario that they care about.

Therefore I think that the right course of action in this scenario is
to reach out to the upstream maintainer and ask them to switch to a
secure key.

Better to be upfront about that the signature doesn't provide enough
security to be worth checking, than accepting any signature and
pretending that it protects something. At least then it's explicit
that the key is bad.

In my personal opinion it's a bug in GnuPG that it says "Good
signature" in this case, but I'm not sure that I would be able to
convince the GnuPG maintainers about that.

best regards
Alexander Kjäll