-Infinity
0
Severity
6.7
Buffer Overflow
AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L/E:P/RL:O/RC:U

Last updated 27 May 2026

1 / 2
Source: Ubuntu
First published (updated )
Severity
4
Buffer Overflow

Libgcrypt before 1.12.2 sometimes allows a heap-based buffer overflow and denial of service via crafted ECDH ciphertext to gcrypkdecrypt.

First published (updated )
Severity
4.7
EPSS
0.01%
AV:L/AC:H/PR:N/UI:R/S:C/C:N/I:N/A:L

In GnuPG before 2.5.5, if a user chooses to import a certificate with certain crafted subkey data that lacks a valid backsig or that has incorrect usage flags, the user loses the ability to verify signatures made from certain other signing keys, aka a "verification DoS."

1 / 2
Source: NVD
First published (updated )
Severity
5.9
AV:L/AC:H/PR:N/UI:N/S:C/C:N/I:H/A:N

In GnuPG through 2.4.8, if a signed message has \f at the end of a plaintext line, an adversary can construct a modified message that places additional text after the signed material, such that signature verification of the modified message succeeds (although an "invalid armor" message is printed during verification). This is related to use of \f as a marker to denote truncation of a long plaintext line.

First published (updated )
Severity
7.5
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

GnuPG Libgcrypt could allow a remote attacker to obtain sensitive information, caused by improper handling of ElGamal encryption. By using side-channel attack techniques against mpipowm, and the window size, an attacker could exploit this vulnerability to obtain sensitive information, and use this information to launch further attacks against the affected system.

1 / 3
Source: IBM
First published (updated )
Severity
7.8
AV:L/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N/E:P

In GnuPG before 2.4.9, armorfilter in g10/armor.c has two increments of an index variable where one is intended, leading to an out-of-bounds write for crafted input. (For ExtendedLTS, 2.2.51 and later are fixed versions.)

1 / 3
Source: MITRE
First published (updated )
Severity
7

In GnuPG through 2.4.8, armorfilter in g10/armor.c has two increments of an index variable where one is intended, leading to an out-of-bounds write for crafted input.

First published (updated )
Severity
8.4
EPSS
0.01%
Buffer Overflow
AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

In GnuPG before 2.5.17, a stack-based buffer overflow exists in tpm2daemon during handling of the PKDECRYPT command for TPM-backed RSA and ECC keys.

First published (updated )
Severity
9.8
EPSS
0.13%
Buffer Overflow
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H

In GnuPG before 2.5.17, a crafted CMS (S/MIME) EnvelopedData message carrying an oversized wrapped session key can cause a stack-based buffer overflow in gpg-agent during PKDECRYPT--kem=CMS handling. This can easily be leveraged for denial of service; however, there is also memory corruption that could lead to remote code execution.

First published (updated )
Severity
7
Buffer Overflow

In GnuPG before 2.5.17, a stack-based buffer overflow exists in tpm2daemon during handling of the PKDECRYPT command for TPM-backed RSA and ECC keys.

First published (updated )
Severity
7
Buffer Overflow

In GnuPG before 2.5.17, a crafted CMS (S/MIME) EnvelopedData message carrying an oversized wrapped session key can cause a stack-based buffer overflow in gpg-agent during PKDECRYPT--kem=CMS handling. This can easily be leveraged for denial of service; however, there is also memory corruption that could lead to remote code execution.

First published (updated )
Severity
2.9
AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N

CMS (Cryptographic Message Syntax) parsing in gpgsm in GnuPG through 2.5.20 mishandles the CMS format for AES-GCM because aes-ICVlen is supposed to be 12 bytes but 4 bytes is accepted. NOTE: this is related to CVE-2026-34182.

First published (updated )

Alan Coopersmith <alan.coopersmith () oracle com> writes: The common failure is accepting the sender provided length for the authentication tag, and not enforcing the minimum length specified in the RFC - allowing an attacker to specify a one-byte tag length and then use brute force to determine which of the 256 possible values matches the first byte of the actual tag. As with far too many other RFCs, the required skill for them isn't implementing them correctly, it's knowing which bits you need to ignore in order to implement them appropriately. I just checked my code and it hardcodes an allowed MAC length range of 16 ... 64 bytes for RFC 6476 use (Authenticated-Enveloped-Data, but with an explicit MAC), so no matter what any RFC says you can't feed it a MAC value less than 128 bits.

And an additional thought, these are all very high-visibility libraries and therefore obvious targets for checking whether they get it right. Given the failure rate with those, I wonder how many other lesser-known ones also got it wrong?

Peter.

https://blog.calif.io/p/how-to-format-a-ciphertext discusses how the issue that OpenSSL disclosed on June 9 as CVE-2026-34182 similarly affected the PKCS#7 / CMS parsing implementations from WolfSSL, Bouncy Castle, & GnuPG.

The common failure is accepting the sender provided length for the authentication tag, and not enforcing the minimum length specified in the RFC - allowing an attacker to specify a one-byte tag length and then use brute force to determine which of the 256 possible values matches the first byte of the actual tag.

The OpenSSL CVE-2026-34182 was already covered on oss-security in: https://www.openwall.com/lists/oss-security/2026/06/09/15

The WolfSSL CVE-2026-5500 was also already sent here in: https://www.openwall.com/lists/oss-security/2026/04/14/6

https://x.com/califio/status/2068786334844715142 notes: Both Bouncy Castle and GnuPG have acknowledged and fixed the reported issues.

CVE-2026-12802 will be published with Bouncy Castle 1.85. -- -Alan Coopersmith- alan.coopersmith () oracle com Oracle Solaris Engineering - https://blogs.oracle.com/solaris

Severity
5.9
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N

The ElGamal implementation in Libgcrypt before 1.9.4 allows plaintext recovery because, during interaction between two cryptographic libraries, a certain dangerous combination of the prime defined by the receiver's public key, the generator defined by the receiver's public key, and the sender's ephemeral exponents can lead to a cross-configuration attack against OpenPGP.

First published (updated )
Severity
7.8
Buffer Overflow
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

gcrymdblockwrite in cipher/hash-common.c in Libgcrypt version 1.9.0 has a heap-based buffer overflow when the digest final function sets a large count value. It is recommended to upgrade to 1.9.1 or later.

First published (updated )
Severity
7.5
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

GnuPG 2.2.4 and 2.2.5 does not enforce a configuration in which key certification requires an offline master Certify key, which results in apparently valid certifications that occurred only with access to a signing subkey.

1 / 2
Source: Launchpad
First published (updated )
Severity
7.5
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N

cipher/elgamal.c in Libgcrypt through 1.8.2, when used to encrypt messages directly, improperly encodes plaintexts, which allows attackers to obtain sensitive information by reading ciphertext data (i.e., it does not have semantic security in face of a ciphertext-only attack). The Decisional Diffie-Hellman (DDH) assumption does not hold for Libgcrypt's ElGamal implementation.

First published (updated )
Severity
7.5
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

GnuPG before version 2.2.8 does not properly sanitize original filenames of signed or encrypted messages allowing for the insertion of line feeds and other control characters. An attacker could exploit this by injecting such characters to craft status messages and fake the validity of signatures.

External Reference:

https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000425.html

Upstream Issue:

https://dev.gnupg.org/T4012

Upstream Patches:

https://dev.gnupg.org/rG2326851c60793653069494379b16d84e4c10a0ac https://dev.gnupg.org/rG210e402acd3e284b32db1901e43bf1470e659e49 https://dev.gnupg.org/rG13f135c7a252cc46cff96e75968d92b6dc8dce1b

1 / 3
Source: Red Hat
First published (updated )
Severity
5.1
Infoleak
CVSS:3.0/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N

An implementation flaw was discovered in multiple cryptographic libraries that allows a side-channel based attacker to recover ECDSA or DSA private keys. When these cryptographic libraries use the private key to create a signature, such as for a TLS or SSH connection, they inadvertently leak information through memory caches. An unprivileged attacker running on the same machine can collect the information from a few thousand signatures and recover the value of the private key.

External References:

https://www.nccgroup.trust/us/our-research/technical-advisory-return-of-the-hidden-number-problem/

1 / 3
Source: Red Hat
First published (updated )
Severity
4
AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:L

Last updated 27 May 2026

1 / 2
Source: Ubuntu
First published (updated )
Severity
6.8
Buffer Overflow
AV:N/AC:M/Au:N/C:P/I:P/A:P

Heap-based buffer overflow in the askoutfilename function in openfile.c for GnuPG (gpg) 1.4 and 2.0, when running interactively, might allow attackers to execute arbitrary code via messages with "C-escape" expansions, which cause the makeprintablestring function to return a longer string than expected while constructing a prompt.

First published (updated )

The following announcement regarding libcrypt security releases was posted to gnupg-announce and related lists today. The forward is unedited except for trimming some footers inserted by mailing list software and the PGP/MIME signature.

----- Forwarded message from Werner Koch via Gnupg-devel <gnupg-devel () gnupg org> -----

Date: Tue, 21 Apr 2026 12:28:09 +0200 From: Werner Koch via Gnupg-devel <gnupg-devel () gnupg org> To: gnupg-announce () gnupg org Cc: Werner Koch <wk () gnupg org>, info-gnu () gnu org Subject: [Announce] [Security fixes] Libgcrypt 1.12.2, 1.11.3, 1.10.x released

Hello!

We are pleased to announce the availability of couple of new Libgcrypt versions: 1.12.2, 1.11.3, and 1.10.4 . It is suggested to use 1.12.2 which is fully compatible with all earlier versions.

This version fixes a security bug [T8211] which can be used used to mount a DoS using ECDH encryption (with NIST, Brainpool, X448, or X25519 curves). Note that GnuPG versions since 2.5.7 are not affected by this bug due to the use of a different encryption API.

Another security bug [T8208] was fixed in the Dilithium signing algorithm which is available since version 1.12.0.

Noteworthy changes in version 1.12.2 (2026-04-15) ====================================

Bug fixes:

- Fix possible ECDH buffer overwrite with zeroes. [T8211]

- Add a missing bounds check to the Dilithium context handling. Reported by Calif.io in collaboration with Claude and Anthropic Research. [T8208]

- Add point validation when using the new KEM interface. [T8212]

Other:

- Fix the dead-code of strongerkeycheck for RSA. [T8171]

For a list of links to commits and bug numbers see the release info at https://dev.gnupg.org/T8114 . However, due to an ongoing AI scraper DDoS the site might not be reachable at all times or from all IPs.

Noteworthy changes in version 1.11.3 (2026-04-21) ====================================

Bug fixes:

- Fix possible ECDH buffer overwrite with zeroes. [T8211]

- Add point validation when using the new KEM interface. [T8212]

- Fix compiler error on NetBSD. [T7633]

- mceliece6688128f: Fix stack overflow crash on win64/wine [rCb17ed8d1af]

- Apply a Kyber patch from upstream. [rC5ba143d51f]

- Use CSIDLCOMMONAPPDATA instead of /etc on Windows. [rC995b870fd2]

- Use secure MPI in gcrympiassignlimbspace. [rC520c699c82]

- Fix a regression with disabled public-key algo for FIPS. [T7338,rCc6e0658004]

Other:

- Handle HAVEBROKENMLOCK for the case of building with ASAN. [T7889]

- Add stack burning for PQC algorithms. [rC289c0a596f]

Release-info: https://dev.gnupg.org/T8232

Noteworthy changes in version 1.10.4 (2026-04-21) ====================================

NOTE: The 1.10 series reaches end-of-life in 6 weeks.

Bug fixes:

- Fix possible ECDH buffer overwrite with zeroes. [T8211]

- Fix AESWRAP padding length check. [T7130]

Other:

- Handle HAVEBROKENMLOCK for the case of building with ASAN. [T7889]

Release-info: https://dev.gnupg.org/T8233

Download ========

Source code is hosted at the GnuPG FTP server and its mirrors as listed at https://gnupg.org/download/mirrors.html. On the primary server the source tarball and its digital signature are:

https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.12.2.tar.bz2 https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.12.2.tar.bz2.sig https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.3.tar.bz2 https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.3.tar.bz2.sig https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.4.tar.bz2 https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.4.tar.bz2.sig

or gzip compressed:

https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.12.2.tar.gz https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.12.2.tar.gz.sig https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.3.tar.gz https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.11.3.tar.gz.sig https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.4.tar.gz https://gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.10.4.tar.gz.sig

In order to check that the version of Libgcrypt you downloaded is an original and unmodified file please follow the instructions found at https://gnupg.org/download/integritycheck.html. In short, you may use one of the following methods:

- Check the supplied OpenPGP signature. For example to check the signature of the file libgcrypt-1.12.2.tar.bz2 you would use this command:

gpg --verify libgcrypt-1.12.2.tar.bz2.sig libgcrypt-1.12.2.tar.bz2

This checks whether the signature file matches the source file. You should see a message indicating that the signature is good and made by one or more of the release signing keys. Make sure that this is a valid key, either by matching the shown fingerprint against a trustworthy list of valid release signing keys or by checking that the key has been signed by trustworthy other keys. See the end of this mail for information on the signing keys.

- If you are not able to use an existing version of GnuPG, you have to verify the SHA-1 checksum. On Unix systems the command to do this is either "sha1sum" or "shasum". Assuming you downloaded the file libgcrypt-1.12.2.tar.bz2, you run the command like this:

sha1sum libgcrypt-1.12.2.tar.bz2

and check that the output matches the first line from the this list:

7b8ff21966a0b6e7a735466b9b9b55d9dac9fa87 libgcrypt-1.12.2.tar.bz2 a1b1d5561e7b743e7e4460a49015053da1901124 libgcrypt-1.12.2.tar.gz d252f6b0a62fcacb8f82bcb61440b25d698a0a05 libgcrypt-1.11.3.tar.bz2 a89b597965a76bfbe0ad11e3d6153c3709c0b07e libgcrypt-1.11.3.tar.gz d824efa873ac210e84573564df4a99f4cd5cdf77 libgcrypt-1.10.4.tar.bz2 5a5bb8d4dd69a2c7828dbf31b12df5e21e604971 libgcrypt-1.10.4.tar.gz

You should also verify that the checksums above are authentic by matching them with copies of this announcement. Those copies can be found at other mailing lists, web sites, and search engines.

Copying =======

Libgcrypt is distributed under the terms of the GNU Lesser General Public License (LGPLv2.1+). The helper programs as well as the documentation are distributed under the terms of the GNU General Public License (GPLv2+). The file LICENSES has notices about contributions that require that these additional notices are distributed.

Support =======

For help on developing with Libgcrypt you should read the included manual and if needed ask on the gcrypt-devel mailing list.

In case of problems specific to this release please first check https://dev.gnupg.org/T8114 for updated information.

Please also consult the archive of the gcrypt-devel mailing list before reporting a bug: https://gnupg.org/documentation/mailing-lists.html . We suggest to send bug reports for a new release to this list in favor of filing a bug at https://bugs.gnupg.org. If you need commercial support go to https://gnupg.com or https://gnupg.org/service.html .

Please see https://gnupg.org/documentation/security.html for information on how to report security issues and for our threat model.

If you are a developer and you need a certain feature for your project, please do not hesitate to bring it to the gcrypt-devel mailing list for discussion.

Thanks ======

Since 2001 maintenance and development of GnuPG is done by g10 Code GmbH and has mostly been financed by donations. Several full-time employed developers and contractors are working exclusively on GnuPG and closely related software like Libgcrypt, GPGME, Kleopatra and Gpg4win.

Fortunately, and this is still not common with free software, we have now established a way of financing the development while keeping all our software free and freely available for everyone. Our model is similar to the way RedHat manages RHEL and Fedora: Except for the actual binary of the MSI installer for Windows and client specific configuration files, all the software is available under the GNU GPL and other Open Source licenses. Thus customers may even build and distribute their own version of the software as long as they do not use our trademarks GnuPG Desktop® or GnuPG VS-Desktop®.

We like to thank all the nice people who are helping the GnuPG project, be it testing, coding, translating, suggesting, auditing, administering the servers, spreading the word, answering questions on the mailing lists, or helping with donations.

Thank you all

Your Libgcrypt hackers

p.s. This is an announcement only mailing list. Please send replies only to the gcrypt-devel'at'gnupg.org mailing list.

List of Release Signing Keys: To guarantee that a downloaded version has not been tampered by malicious entities we provide signature files for all tarballs and binary versions. The keys are also signed by the long term keys of their respective owners. Current releases are signed by one or more of these five keys:

ed25519 2020-08-24 [SC] [expires: 2030-06-30] 6DAA 6E64 A76D 2840 571B 4902 5288 97B8 2640 3ADA Werner Koch (dist signing 2020)

ed25519 2021-05-19 [SC] [expires: 2027-04-04] AC8E 115B F73E 2D8D 47FA 9908 E98E 9B2D 19C6 C8BD Niibe Yutaka (GnuPG Release Key)

rsa3072 2025-05-09 [SC] [expires: 2033-03-03] 3B76 1AE4 E63B F351 9CE7 D63B ECB6 64CB E133 2EEF Alexander Kulbartsch (GnuPG Release Key)

brainpoolP256r1 2021-10-15 [SC] [expires: 2029-12-31] 02F3 8DFF 731F F97C B039 A1DA 549E 695E 905B A208 GnuPG.com (Release Signing Key 2021)

brainpoolP384r1 2026-02-23 [SC] [expires: 2034-02-23] 1493 269D E61F 124A A69A 316E 3ADF 34EB DBB2 00A4 GnuPG.com (Release Signing Key 2026)

The keys are available at https://gnupg.org/signaturekey.html and in any recently released GnuPG tarball in the file g10/distsigkey.gpg . Note that this mail has been signed by a different key.

Debian Package Signing Key: The new Debian style packages are signed using this key:

ed25519 2025-07-08 [SC] [expires: 2035-07-14] 3209 7B71 9B37 45D6 E61D DA1B 85C4 5AE3 E1A2 B355 GnuPG.org Package Signing Key <package-maintainers () gnupg org>

See the package website (https://repos.gnupg.org/deb/gnupg) for a list of supported distributions and a download link for the key.

-- The pioneers of a warless world are the youth that refuse military service. - A. Einstein

----- End forwarded message -----

Severity
5.5
EPSS
0.01%
Null Pointer Dereference
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

In GnuPG before 2.5.17, a long signature packet length causes parsesignature to return success with sig->data[] set to a NULL value, leading to a denial of service (application crash).

First published (updated )

Sam James <sam () gentoo org> wrote: A crafted CMS (S/MIME) EnvelopedData message carrying an oversized wrapped session key can cause a stack buffer overflow in gpg-agent during the PKDECRYPT--kem=CMS handling. This can easily be used for a DoS but, worse, the memory corruption can very likley also be used to mount a remote code execution attack.

A CVE-id has not been assigned. We track this bug as T8044 under https://dev.gnupg.org/T8044. This vulnerability was discovered by: OpenAI Security Research. Their report was received on 2026-01-18; This vulnerability sounds very similar to the just announced OpenSSL vulnerability CVE-2025-15467. That vulnerability was noted as having been discovered Stanislav Fort (Aisle Research).

Is it a coincident that these two issues were detected shortly after one another by different parties?

-Jan

GnuPG 2.5.17 has been released to fix a possible RCE: https://dev.gnupg.org/T8044 ("gpg-agent stack buffer overflow in pkdecrypt using KEM")

[Description for this one at the end, for the full quoted advisory.]

There's two other security-relevant bugs too: https://dev.gnupg.org/T8045 ("Stack-based buffer overflow in TPM2 PKDECRYPT") A stack-based buffer overflow exists in GnuPG’s tpm2daemon when handling the PKDECRYPT command for TPM-backed RSA and ECC keys. A local attacker who can access the daemon’s Assuan socket can send an oversized ciphertext and trigger memory corruption, resulting in a crash and potentially arbitrary code execution. When a user stores private keys inside a TPM, GnuPG runs a helper process called tpm2daemon to perform cryptographic operations on their behalf. Other GnuPG components communicate with this daemon over Assuan, a local IPC protocol. During a PKDECRYPT request, tpm2daemon copies the attacker-supplied ciphertext into fixed-size TPM work buffers without validating that the ciphertext fits. If the supplied ciphertext is larger than the TPM buffer, the copy operation writes past the end of the stack buffer and corrupts adjacent stack memory. This affects both supported TPM decrypt paths: RSA (tpm2rsadecrypt) and ECC (tpm2eccdecrypt). Because the overflow occurs on the stack and is attacker-controlled, it is potentially exploitable for code execution inside the tpm2daemon process. https://dev.gnupg.org/T8049 ("Null pointer dereference with overlong signature packet") Overlong signature packet length causes parsesignature to return success with sig->data[] left NULL, leading to a crash in later consumers. The advisory is at https://dev.gnupg.org/T7996#212268 (not yet on gnupg-announce ML). Quoting that, which discusses the main bug (T8044): These versions are affected:

GnuPG 2.5.16 (released 2025-12-30) GnuPG 2.5.15 (released 2025-12-29) GnuPG 2.5.14 (released 2025-11-19) GnuPG 2.5.13 (released 2025-10-22) Gpg4win 5.0.0 (released 2026-01-14) Gpg4win 5.0.0-beta479 (released 2026-01-02) Gpg4win 5.0.0-beta476 (released 2025-12-22) Gpg4win 5.0.0-beta395 (released 2025-10-22)

All other versions are not affected.

A crafted CMS (S/MIME) EnvelopedData message carrying an oversized wrapped session key can cause a stack buffer overflow in gpg-agent during the PKDECRYPT--kem=CMS handling. This can easily be used for a DoS but, worse, the memory corruption can very likley also be used to mount a remote code execution attack.

A CVE-id has not been assigned. We track this bug as T8044 under https://dev.gnupg.org/T8044. This vulnerability was discovered by: OpenAI Security Research. Their report was received on 2026-01-18; fixed versions released 2026-01-27.

Solution:

If an affected GnuPG version is used please update ASAP to the new version 2.5.17.

If an affected version of Gpg4win is used please update ASAP to the new version 5.0.1.

If an immediate update is not possible please remove the gpgsm or gpgsm.exe binary, this way the the bug can't be remotely triggered. sam

Hi!

On Mon, 29 Dec 2025 10:51, Werner Koch said: https://dev.gnupg.org/T7900 which is the parent ticket for all these Unfortunately this ticket and some other tickets where only accessible by registered users or even more restricted. This is now fixed [1].

FWIW, here is a replyt which I posted on Mastodon:

Actually there is only one major bug (T7906 - armor parser) which was fixed early November. T7901 requires a 2nd pre-image attack on SHA1 - which does not yet exist. T7907 (plaintext recovery) is simply untrue; see https://dev.gnupg.org/T7907#210501

BTW, of course we sign our commits and most of us even use hardware tokens.

Shalom-Salam,

Werner

[1] Phabricator has a two-level permission system and in the web interface only the first level is easy to see in the overview. Some of us played it safe and restricted at both levels. -- The pioneers of a warless world are the youth that refuse military service. - A. Einstein

First published (updated )

Henrik Ahlgren <pablo () seestieto com> writes: Perhaps the Debian developer keyring would serve as a compelling example? They even organize actual key-signing parties, which many cryptography experts today appear to regard as "LARPing" or otherwise ridiculous. That sounds almost exactly like a CA key signing ceremony rather than any kind of WoT thing...

Peter.

Henrik Ahlgren <pablo () seestieto com> writes: Peter Gutmann <pgut001 () cs auckland ac nz> writes: Does anything actually use the cobweb of trust, or do you just assume the key you've got is good because doing anything else is too hard? Perhaps the Debian developer keyring would serve as a compelling example? They even organize actual key-signing parties, which many cryptography experts today appear to regard as "LARPing" or otherwise ridiculous. Or the Linux kernel [1].

Collin

[1] https://www.kernel.org/doc/html/v6.19-rc2/process/maintainer-pgp-guide.html#using-the-kernel-org-web-of-trust-repository

Demi Marie Obenour writes: Can we agree to use OpenSSH signatures ASAP? PGP signatures are fine, for authenticating binaries we just need to use them in a way where there's only one simple, unambiguous, and minimal-attack- surface way to apply them, as well as a means of having them work over longer time periods (see below). The alternative is to try to boil the ocean, which would take a Heartbleed-style catastrophe to motivate. Interesting! Which ones don't work? I'm using it to generate test data which will no doubt trigger odd behaviour in some cases, and didn't record info about individual problems, just "type this command to get this output" once I figured out what was required. An example is:

gpg -b -z 0 --openpgp --homedir . -o signed4.pgp test.txt

(the --openpgp is for a GPG bug, without it it'll generate v3 sigs as if --force-v3-sigs had been specified).

but for most of them all I've recorded is just whatever magic incantation eventually worked to generate the required test data. Is that what gpgv and sqv are? It depends on how much of the rest of GPG is still present. If it's just a stripped-down front-end to the whole thing then it may still be subject to the same vulns. I think the hard part of doing this isn't the signature handling itself, but rather the incredibly complex web of trust. Does anything actually use the cobweb of trust, or do you just assume the key you've got is good because doing anything else is too hard? Certainly for authenticating Linux installs and updates the practice seems to be "grab the key from this source via TLS, swear a lot because it's KEYEXPIRED, spend ages Googling how to get the latest key, realise you have to install intermediate updates to work your way up to what's current but the only remaining source for those is a server in Botswana and all the apt options have changed and you need to read a garbled blog post someone wrote at 3am when they ran into the

[ 25 more lines of pain snipped ]

just run with --allow-unauthenticated and ensuing zero security so you can finally update your stuff before you die of old age". That's one thing Microsoft did well with Authenticode, you don't get all your updates blocked because your valid keys instantly became invalid after some timer ticked past midnight. I've actually done something like this myself, wrote simple apps pgpencrypt and pgpdecrypt (size around 50kB) Are these available anywhere? They're just some very quick things I threw together ten or more years ago, motivated by:

/ Used to decrypt files that the four assorted command-line versions of PGP can't handle /

(this was before GPG became the de facto universal standard). I can send you the code privately if you like, but it probably won't be very useful. Yeah, that's embarrassing. I wouldn't say it's embarrassing, more that it's a confirmation of Shamir's Law, "crypto is bypassed, not attacked". To find the biggest holes in a crypto app you need a pentester, not a cryptographer.

Peter.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203