OpenSSL, Groff: Insecure tempfile handling — GLSA 200411-15

groffer, included in the Groff package, and the der_chop script, included in the OpenSSL package, are both vulnerable to symlink attacks, potentially allowing a local user to overwrite arbitrary files with the rights of the user running the utility.

Affected Packages

dev-libs/openssl on all architectures
Affected versions < 0.9.7d-r2
Unaffected versions >= 0.9.7d-r2
sys-apps/groff on all architectures
Affected versions < 1.19.1-r2
Unaffected versions >= 1.19.1-r2, revision >= 1.18.1.1

Background

OpenSSL is a toolkit implementing the Secure Sockets Layer and Transport Layer Security protocols as well as a general-purpose cryptography library. It includes the der_chop script, which is used to convert DER-encoded certificates to PEM format. Groff (GNU Troff) is a typesetting package which reads plain text mixed with formatting commands and produces formatted output. It includes groffer, a command used to display groff files and man pages on X and tty.

Description

groffer and the der_chop script create temporary files in world-writeable directories with predictable names.

Impact

A local attacker could create symbolic links in the temporary files directory, pointing to a valid file somewhere on the filesystem. When groffer or der_chop is executed, this would result in the file being overwritten with the rights of the user running the utility, which could be the root user.

Workaround

There is no known workaround at this time.

Resolution

All Groff users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose sys-apps/groff

All OpenSSL users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-libs/openssl-0.9.7d-r2"

Note: /etc/ssl/misc/der_chop is protected by Portage as a configuration file. Don't forget to use etc-update and overwrite the old version with the new one.

References

Release Date
November 08, 2004

Latest Revision
August 23, 2006: 02

Severity
normal

Exploitable
local

Bugzilla entries