Skip to navigation

Security Advisory lpr has a format string security bug, LPRng compat issues, and a race cond.

Advisory: RHSA-2000:066-05
Type: Security Advisory
Severity: N/A
Issued on: 2000-10-13
Last updated on: 2000-10-13
Affected Products:
CVEs (cve.mitre.org): CVE-2000-1208

Details

lpr has a format string security bug. It also mishandles any extension to
the lpd communication protocol, and assumes that the instructions contained
in the extension are a file it should try to print. It also has a race
condition in the handling of queue interactions that can cause the queue to
wedge.

Note: Packages indicated in revision -03 and earlier were not signed with
the Red Hat GPG key. This has been corrected.

The old BSD-based lpr which we shipped with Red Hat Linux 5.x and 6.x has a
recently discovered format string bug in its calls to the syslog facility.
While we are not aware of any exploits for this issue, it might be possible
for a user to gain local root access. For this reason, upgrading to the
new lpr is strongly encouraged.

Additionally, lpr did not properly handle extensions to the lpd protocol.
LPRng, an advanced replacement for lpr included in Red Hat Linux 7, makes
use of extensions. The lpr included in Red Hat Linux 6.2 and earlier will
not recognize these extensions, and attempt to handle the instructions as
if they were a file to be printed. As a result, the lpr system sends out
three of the following email messages per print job:

Date: Thu, 10 Aug 2000 21:36:32 -0400
From: bin <bin@redhat.com>
Reply-To: root@yyyyy.redhat.com
To: xxxx@xxxxxx.redhat.com
Subject: lp printer job "(stdin)"

Your printer job ((stdin))
was not printed because the daemon could not stat the file

Additionaly, a race condition exists in the contention for the lock file,
making it posible for the queue to get into a wedged state.

These problems are now fixed.


Solution

For each RPM for your particular architecture, run:

rpm -Fvh [filename]

where filename is the name of the RPM.

Additionally, after upgrading, you will want to restart your "lpd" service
by executing the following as root:

/etc/rc.d/init.d/lpd restart

If you do not need printing at all on your system, we recommend you remove
the lpr print system:

/etc/rc.d/init.d/lpd stop
rpm -e lpr

Updated packages


Bugs fixed (see bugzilla for more information)

16725 - BSD lpr 0.50-5 Errata Tracking Bug


References

https://www.redhat.com/security/data/cve/CVE-2000-1208.html
Thanks go to Chris Evans <chris@scary.beasts.org> for spotting this in the
OpenBSD lpr CVS commit logs, and verifying the problem existed for Linux as
well.

Keywords

LPRng


These packages are GPG signed by Red Hat for security. Our key and details on how to verify the signature are available from:
https://www.redhat.com/security/team/key/#package

The Red Hat security contact is secalert@redhat.com. More contact details at http://www.redhat.com/security/team/contact/