GnuPG: Multiple vulnerabilities — GLSA 200612-03

GnuPG is vulnerable to a buffer overflow and an erroneous function pointer dereference that can result in the execution of arbitrary code.

Affected packages

app-crypt/gnupg on all architectures
Affected versions < 1.4.6
Unaffected versions >= 1.4.6

Background

The GNU Privacy Guard, GnuPG, is a free replacement for the PGP suite of cryptographic software.

Description

Hugh Warrington has reported a boundary error in GnuPG, in the "ask_outfile_name()" function from openfile.c: the make_printable_string() function could return a string longer than expected. Additionally, Tavis Ormandy of the Gentoo Security Team reported a design error in which a function pointer can be incorrectly dereferenced.

Impact

A remote attacker could entice a user to interactively use GnuPG on a crafted file and trigger the boundary error, which will result in a buffer overflow. They could also entice a user to process a signed or encrypted file with gpg or gpgv, possibly called through another application like a mail client, to trigger the dereference error. Both of these vulnerabilities would result in the execution of arbitrary code with the permissions of the user running GnuPG. gpg-agent, gpgsm and other tools are not affected.

Workaround

There is no known workaround at this time.

Resolution

All GnuPG users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose "=app-crypt/gnupg-1.4*"

References

Release date
December 10, 2006

Latest revision
December 10, 2006: 02

Severity
normal

Exploitable
remote

Bugzilla entries