A vulnerability in GnuPG could allow a remote attacker to execute arbitrary code on an affected system.
GNU Privacy Guard (GnuPG) is the GNU project's implementation of the OpenPGP standard as defined by RFC2440.
OpenPGP messages are processed by GnuPG using data structures called filters that are used in a way similar to pipelines in the shell. Context structures that are usually allocated on the stack and passed to the filter functions are used for communications between these filters. Before the context structure gets deallocated, the OpenPGP data stream that is fed into the filters is closed. In some cases, while decrypting encrypted packets, this may not happen and the filter may use a void context structure filled with garbage that is under the attacker's control. Another context is included in the filter context for use by the low-level decryption. The decryption algorithm is accessed by this context via a function pointer.
A remote, unauthenticated attacker with the ability to supply specially crafted OpenPGP packets to a vulnerable version of GnuPG may be able to execute arbitrary code on an affected system. The attacker-supplied code would be executed with the privileges of the user or application invoking gpg.
Apply a patch or upgrade
Red Hat, Inc.
Slackware Linux Inc.
Trustix Secure Linux
Apple Computer, Inc.
Sun Microsystems, Inc.
EMC, Inc. (formerly Data General Corporation)
Engarde Secure Linux
F5 Networks, Inc.
IBM Corporation (zseries)
Immunix Communications, Inc.
Ingrian Networks, Inc.
Juniper Networks, Inc.
MontaVista Software, Inc.
QNX, Software Systems, Inc.
Silicon Graphics, Inc.
The SCO Group
Wind River Systems, Inc.
This issue was publicly reported by Werner Koch of the GnuPG project who, in turn, credits Tavis Ormandy of the Gentoo Security Team with its discovery.
This document was written by Chad R Dougherty and Chris Taschner.
|Date First Published:||2006-12-18|
|Date Last Updated:||2007-02-06 20:46 UTC|