doc/share/security/advisories/FreeBSD-SA-97:02.lpd.asc
Bjoern A. Zeeb 3571e53040 Import FreeBSD Security Advisories and Errata Notices, as well as their
patches for easier mirroring, to eliminate a special copy, to make
www.freebsd.org/security a full copy of security.freebsd.org and be
eventually be the same.

For now files are just sitting there.   The symlinks are missing.

Discussed on:	www (repository location)
Discussed with:	simon (so)
2012-08-15 06:19:40 +00:00

99 lines
3.3 KiB
Text

-----BEGIN PGP SIGNED MESSAGE-----
=============================================================================
FreeBSD-SA-97:02 Security Advisory
FreeBSD, Inc.
Topic: Buffer overflow in lpd
Category: core
Module: lpd
Announced: 1997-03-26
Affects: FreeBSD 2.1.7 and earlier and FreeBSD 2.2 snapshots
before 1997/02/25 suffer from this problem.
Corrected: FreeBSD-current as of 1997/02/25
FreeBSD 2.2 as of 1997/02/25
FreeBSD 2.1.x as of 1997/02/25
FreeBSD only: yes
Patches: ftp://freebsd.org/pub/CERT/patches/SA-97:02/
=============================================================================
I. Background
The lpd program is used to print local and remote print jobs. It
is standard software in the FreeBSD operating system.
II. Problem Description
The lpd program runs as root. A remote attacker can exploit a
buffer overflow to obtain root privs.
III. Impact
Remote users can gain root privs.
IV. Workaround
The only workaround is to disable lpd, which will have the effect
of removing the printing functionality from the system. Since
the buffer overflow happens before the connection is authenticated,
using lpd's authentication methods will not affect the system
vulnerability.
V. Solution
Apply the following patch, rebuild and install libc:
(This patch can also be found on
ftp://freebsd.org/pub/CERT/patches/SA-97:02/)
Index: rcmd.c
===================================================================
RCS file: /home/imp/FreeBSD/CVS/src/lib/libc/net/rcmd.c,v
retrieving revision 1.3.4.4
retrieving revision 1.3.4.5
diff -u -r1.3.4.4 -r1.3.4.5
--- rcmd.c 1997/02/09 06:57:54 1.3.4.4
+++ rcmd.c 1997/02/26 06:14:11 1.3.4.5
@@ -377,7 +377,8 @@
if ((hp = gethostbyaddr((char *)&raddr, sizeof(u_long),
AF_INET)) == NULL)
return (-1);
- strcpy(hname, hp->h_name);
+ strncpy(hname, hp->h_name, sizeof(hname));
+ hname[sizeof(hname) - 1] = '\0';
while (fgets(buf, sizeof(buf), hostf)) {
p = buf;
VI. Thanks
This problem was brought to light by Oliver Friedrichs
<oliver@SECNET.COM>.
=============================================================================
FreeBSD, Inc.
Web Site: http://www.freebsd.org/
Confidential contacts: security-officer@freebsd.org
PGP Key: ftp://freebsd.org/pub/CERT/public_key.asc
Security notifications: security-notifications@freebsd.org
Security public discussion: security@freebsd.org
Notice: Any patches in this document may not apply cleanly due to
modifications caused by digital signature or mailer software.
Please reference the URL listed at the top of this document
for original copies of all patches if necessary.
=============================================================================
-----BEGIN PGP SIGNATURE-----
Version: 2.6.2
iQCVAwUBMznCN1UuHi5z0oilAQFZ4QQAjlb006zWQrHqeihPP6Z9Dt+d3GmMIOzC
E/JHqxblF+GJuhmAmlJ4SCLvi7lKP8jiL9VdKOjK2dKW1XSDGuzH9BvCXtRaAaMJ
pO9icPi1D71qYEwRrhDG2/p2WxcXAXzSgfEPBAHMdfA6Ivg1v50t4mBcDemryrw1
721tD7zYq68=
=iXDD
-----END PGP SIGNATURE-----