News: 0000830538

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

GnuPG 2.2.23 released, fixing a critical security flaw

([Security] Sep 3, 2020 17:05 UTC (Thu) (jake))


[1]GNU Privacy Guard (GnuPG or GPG) has released version 2.2.23 to fix a critical security bug affecting GnuPG 2.2.21 and 2.2.22, as well as Gpg4win 3.1.12. " Importing an OpenPGP key having a preference list for AEAD algorithms will lead to an array overflow and thus often to a crash or other undefined behaviour. Importing an arbitrary key can often easily be triggered by an attacker and thus triggering this bug. Exploiting the bug aside from crashes is not trivial but likely possible for a dedicated attacker. The major hurdle for an attacker is that only every second byte is under their control with every first byte having a fixed value of 0x04. Software distribution verification should not be affected by this bug because such a system uses a curated list of keys. "

From :

Werner Koch <wk-AT-gnupg.org>

To :

gnupg-announce-AT-gnupg.org, info-gnu-AT-gnu.org

Subject :

[security fix] GnuPG 2.2.23 released

Date :

Thu, 03 Sep 2020 18:44:35 +0200

Message-ID :

<87h7seyfm4.fsf@wheatstone.g10code.de>

Archive-link :

[2]Article

Hello!

We are pleased to announce the availability of a new GnuPG release:

version 2.2.23. This version fixes a *critical security bug* in

versions 2.2.21 and 2.2.22.

Impact

======

These versions are affected:

- GnuPG 2.2.21 (released 2020-07-09)

- GnuPG 2.2.22 (released 2020-08-27)

- Gpg4win 3.1.12 (released 2020-07-24)

All other versions are not affected.

Importing an OpenPGP key having a preference list for AEAD algorithms

will lead to an array overflow and thus often to a crash or other

undefined behaviour.

Importing an arbitrary key can often easily be triggered by an attacker

and thus triggering this bug. Exploiting the bug aside from crashes is

not trivial but likely possible for a dedicated attacker. The major

hurdle for an attacker is that only every second byte is under their

control with every first byte having a fixed value of 0x04.

Software distribution verification should not be affected by this bug

because such a system uses a curated list of keys.

A CVE-id has not yet been assigned. We track this bug at

https://dev.gnupg.org/T5050

Solution

========

If GnuPG version 2.2.21 or 2.2.22 is in use please update ASAP to

version 2.2.23.

If you are using an older version or a beta of version 2.3 no immediate

action is required.

If you are using Gpg4win 3.1.12 or GnuPG VS-Desktop 3.1.12 you may

either wait for a fixed release which we will provide very soon or

install GnuPG version 2.2.23 on top.

If installation of a new version is not possible, applying the patch

https://dev.gnupg.org/rGaeb8272ca8aad403a4baac33b8d567371...

is also sufficient.

About GnuPG

===========

The GNU Privacy Guard (GnuPG, GPG) is a complete and free implementation

of the OpenPGP and S/MIME standards.

GnuPG allows to encrypt and sign data and communication, features a

versatile key management system as well as access modules for public key

directories. GnuPG itself is a command line tool with features for easy

integration with other applications. The separate library GPGME provides

a uniform API to use the GnuPG engine by software written in common

programming languages. A wealth of frontend applications and libraries

making use of GnuPG are available. As an universal crypto engine GnuPG

provides support for S/MIME and Secure Shell in addition to OpenPGP.

GnuPG is Free Software (meaning that it respects your freedom). It can

be freely used, modified and distributed under the terms of the GNU

General Public License.

Noteworthy changes in version 2.2.23

====================================

* gpg: Fix AEAD preference list overflow. [#5050]

* gpg: Fix a possible segv in the key cleaning code.

* gpgsm: Fix a minor RFC2253 parser bug. [#5037]

* scdaemon: Fix a PIN verify failure on certain OpenPGP card

implementations. Regression in 2.2.22. [#5039]

* po: Fix bug in the Hungarian translation. Updates for the Czech,

Polish, and Ukrainian translations.

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

Getting the Software

====================

Please follow the instructions found at or

read on:

GnuPG 2.2.23 may be downloaded from one of the GnuPG mirror sites or

direct from its primary FTP server. The list of mirrors can be found at

. Note that GnuPG is not

available at ftp.gnu.org.

The GnuPG source code compressed using BZIP2 and its OpenPGP signature

are available here:

https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.23.tar.bz2 (6933k)

https://gnupg.org/ftp/gcrypt/gnupg/gnupg-2.2.23.tar.bz2.sig

An installer for Windows without any graphical frontend except for a

very minimal Pinentry tool is available here:

https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-2.2.23_2020... (4187k)

https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-2.2.23_2020...

The source used to build the Windows installer can be found in the same

directory with a ".tar.xz" suffix.

A new version of the GnuPG Desktop for Windows (aka Gpg4win) featuring

this version of GnuPG will be released shortly.

Checking the Integrity

======================

In order to check that the version of GnuPG which you are going to

install is an original and unmodified one, you can do it in one of

the following ways:

* If you already have a version of GnuPG installed, you can simply

verify the supplied signature. For example to verify the signature

of the file gnupg-2.2.23.tar.bz2 you would use this command:

gpg --verify gnupg-2.2.23.tar.bz2.sig gnupg-2.2.23.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 gnupg-2.2.23.tar.bz2, you run the command like this:

sha1sum gnupg-2.2.23.tar.bz2

and check that the output matches the next line:

bd949b4af7426e4afc13667d678503063c6aa4b5 gnupg-2.2.23.tar.bz2

c4435707bef33a612d54114f53837b19fcea38f5 gnupg-w32-2.2.23_20200903.tar.xz

489bc6de0a078248086f3214ca298dd6145ec497 gnupg-w32-2.2.23_20200903.exe

Internationalization

====================

This version of GnuPG has support for 26 languages with Chinese

(traditional and simplified), Czech, French, German, Japanese,

Norwegian, Polish, Russian, and Ukrainian being almost completely

translated.

Documentation and Support

=========================

If you used GnuPG in the past you should read the description of

changes and new features at doc/whats-new-in-2.1.txt or online at

https://gnupg.org/faq/whats-new-in-2.1.html

The file gnupg.info has the complete reference manual of the system.

Separate man pages are included as well but they miss some of the

details available only in thee manual. The manual is also available

online at

https://gnupg.org/documentation/manuals/gnupg/

or can be downloaded as PDF at

https://gnupg.org/documentation/manuals/gnupg.pdf .

You may also want to search the GnuPG mailing list archives or ask on

the gnupg-users mailing list for advise on how to solve problems. Most

of the new features are around for several years and thus enough public

experience is available. https://wiki.gnupg.org has user contributed

information around GnuPG and relate software.

In case of build problems specific to this release please first check

https://dev.gnupg.org/T5045 for updated information.

Please consult the archive of the gnupg-users mailing list before

reporting a bug: .

We suggest to send bug reports for a new release to this list in favor

of filing a bug at . If you need commercial

support go to or .

If you are a developer and you need a certain feature for your project,

please do not hesitate to bring it to the gnupg-devel mailing list for

discussion.

Thanks

======

Since 2001 maintenance and development of GnuPG is done by g10 Code GmbH

and currently mostly financed by donations. Two full-time employed

developers as well as two contractor exclusively work on GnuPG and

closely related software like Libgcrypt, GPGME and Gpg4win.

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, or answering questions on the mailing

lists.

Many thanks to our numerous financial supporters, both corporate and

individuals. Without you it would not be possible to keep GnuPG in a

good and secure shape and to address all the small and larger requests

made by our users. Thanks.

Special thanks to Andreas Stieger for reporting a bug and providing

detailed information for us to track this down.

Happy hacking,

Your GnuPG hackers

p.s.

This is an announcement only mailing list. Please send replies only to

the gnupg-users'at'gnupg.org mailing list.

p.p.s

List of Release Signing Keys:

To guarantee that a downloaded GnuPG 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 four keys:

rsa2048 2011-01-12 [expires: 2021-12-31]

Key fingerprint = D869 2123 C406 5DEA 5E0F 3AB5 249B 39D2 4F25 E3B6

Werner Koch (dist sig)

rsa2048 2014-10-29 [expires: 2020-10-30]

Key fingerprint = 031E C253 6E58 0D8E A286 A9F2 2071 B08A 33BD 3F06

NIIBE Yutaka (GnuPG Release Key)

rsa3072 2017-03-17 [expires: 2027-03-15]

Key fingerprint = 5B80 C575 4298 F0CB 55D8 ED6A BCEF 7E29 4B09 2E28

Andre Heinecke (Release Signing Key)

ed25519 2020-08-24 [expires: 2030-06-30]

Key fingerprint = 6DAA 6E64 A76D 2840 571B 4902 5288 97B8 2640 3ADA

Werner Koch (dist signing 2020)

The keys are available at and

in any recently released GnuPG tarball in the file g10/distsigkey.gpg .

Note that this mail has been signed by a different key.

--

# Please read: Daniel Ellsberg - The Doomsday Machine #

Die Gedanken sind frei. Ausnahmen regelt ein Bundesgesetz.

--

If you have a working or partly working program that you'd like

to offer to the GNU project as a GNU package,

see https://www.gnu.org/help/evaluation.html.



[1] https://gnupg.org/

[2] http://www.mail-archive.com/search?l=mid&q=87h7seyfm4.fsf%40wheatstone.g10code.de

The meek are contesting the will.