SuSE-SA:2003:048: gpg

This script is Copyright (C) 2004-2010 Tenable Network Security, Inc.

Synopsis :

The remote host is missing a vendor-supplied security patch

Description :

The remote host is missing the patch for the advisory SuSE-SA:2003:048 (gpg).

The gnupg (the SUSE package is named gpg) package is the most widely
used software for cryptographic encryption/decryption of data.

Two independent errors have been found in gpg (GnuPG) packages as shipped
with SUSE products:

A) A format string error in the client code that does key retrieval
from a (public) key server
B) A cryptographic error in gpg that results in a compromise of a
cryptographic keypair if ElGamal signing keys have been used for
generating the key.

There exists a format string error in thhe client code for key retrieval
from a keyserver. gpg-1.2.x version packages are affected by this
The format string error can be used by an attacker performing a
man-in-the-middle-attack between you and your keyserver, or by a
compromised keyserver. The result is a crash of gpg or a potential
execution of arbitrary code provided by the attacker, if the keyserver
is used for key retrieval at the time of the attack.

Werner Koch, the author of the gpg package, has publicly announced a
weakness in gpg that has been reported to him by Phong Nguyen:
ElGamal signing keys can be attacked within seconds to reveal the
private key of the keypair. It is strongly advised that ElGamal signing
keys should be revoked immediately. Only ElGamal keys are affected, other
types are not vulnerable.

To find out if you are using an ElGamal signing key, list your public
keys using the command

gpg --list-keys your_keyid

$ gpg --list-keys
pub 1024D/9C800ACA 2000-10-19 SuSE Package Signing Key <>
sub 2048g/8495160C 2000-10-19 [expires: 2006-02-12]

If your key lists a capital 'G' after the key's length (like in
pub 1536G/...), then your key is vulnerable. A small letter 'g' after
the key length does NOT indicate any problem.
ElGamal keys can be used for primary keys as well as for subkeys. In the
case where only a subkey is an ElGamal key, it is sufficient to revoke
this specific subkey.

To revoke a key, generate a revocation certificate using the following

gpg --gen-revoke your_keyid > revocation_certificate.pgp

Then, the revokation certificate must be imported into your keyring:

gpg --import < revocation_certificate.pgp

As your last action, send the key with its revocation certificate
to the keyservers that know your key:

gpg --keyserver --send-keys your_keyid

ElGamal keys can only be generated by gpg if a special option (--expert)
has been used to reveal 'expert' options, and if a warning has been
ignored after your choice to use ElGamal keys. Such keys are rare
(Werner Koch reports 848 primary ElGamal signing keys and 324 vulnerable
subkeys on the keyservers.). Therefore, we expect that only experienced
users of gpg may be vulnerable to the ElGamal signing key error.

Solution :

Risk factor :

Medium / CVSS Base Score : 5.0
CVSS Temporal Score : 4.1
Public Exploit Available : true

Family: SuSE Local Security Checks

Nessus Plugin ID: 13816 ()

Bugtraq ID: 9115

CVE ID: CVE-2003-0971

Ready to Amp Up Your Nessus Experience?

Get Nessus Professional to scan unlimited IPs, run compliance checks & more

Buy Nessus Professional Now