FreeBSD Security Advisory FreeBSD-SA-05:01.telnet
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=============================================================================
FreeBSD-SA-05:01.telnet Security Advisory
The FreeBSD Project
Topic: telnet client buffer overflows
Category: contrib
Module: contrib/telnet
Announced: 2005-03-28
Credits: iDEFENSE
Affects: All FreeBSD releases prior to 5.4-RELEASE
Corrected: 2005-03-28 15:50:00 UTC (RELENG_5, 5.4-PRERELEASE)
2005-03-28 15:48:00 UTC (RELENG_4, 4.11-STABLE)
2005-03-28 15:52:00 UTC (RELENG_5_3, 5.3-RELEASE-p6)
2005-03-28 15:57:00 UTC (RELENG_4_11, 4.11-RELEASE-p1)
2005-03-28 15:58:00 UTC (RELENG_4_10, 4.10-RELEASE-p6)
2005-03-28 16:00:00 UTC (RELENG_4_8, 4.8-RELEASE-p28)
CVE Name: CAN-2005-0468 CAN-2005-0469
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit
<URL:http://www.freebsd.org/security/>.
I. Background
The telnet(1) command is a TELNET protocol client, used primarily to
establish terminal sessions across a network.
II. Problem Description
Buffer overflows were discovered in the env_opt_add() and
slc_add_reply() functions of the telnet(1) command. TELNET protocol
commands, options, and data are copied from the network to a
fixed-sized buffer. In the case of env_opt_add (CAN-2005-0468), the
buffer is located on the heap. In the case of slc_add_reply
(CAN-2005-0469), the buffer is global uninitialized data (BSS).
III. Impact
These buffer overflows may be triggered when connecting to a malicious
server, or by an active attacker in the network path between the
client and server. Specially crafted TELNET command sequences may
cause the execution of arbitrary code with the privileges of the user
invoking telnet(1).
IV. Workaround
Do not use telnet(1) to connect to untrusted machines or over an
untrusted network.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to 4-STABLE or 5-STABLE, or to the
RELENG_5_3, RELENG_4_11, RELENG_4_10, or RELENG_4_8 security branch
dated after the correction date.
2) To patch your present system:
The following patches have been verified to apply to FreeBSD 4.8, 4.10,
4.11, and 5.3 systems.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
[FreeBSD 4.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:01/telnet4.patch
# fetch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:01/telnet4.patch.asc
[FreeBSD 5.x]
# fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:01/telnet5.patch
# fetch
ftp://ftp.FreeBSD.org/pub/FreeBSD/CERT/patches/SA-05:01/telnet5.patch.asc
b) Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
c) Rebuild the operating system as described in
<URL:http://www.freebsd.org/doc/handbook/makeworld.html>.
VI. Correction details
The following list contains the revision numbers of each file that was
corrected in FreeBSD.
Branch Revision
Path
- -------------------------------------------------------------------------
RELENG_4
src/crypto/heimdal/appl/telnet/telnet/telnet.c 1.1.1.1.2.4
src/crypto/kerberosIV/appl/telnet/telnet/telnet.c 1.1.1.1.2.1
src/crypto/telnet/telnet/telnet.c 1.4.2.6
src/usr.bin/telnet/telnet.c 1.8.2.4
RELENG_4_11
src/UPDATING 1.73.2.91.2.2
src/crypto/heimdal/appl/telnet/telnet/telnet.c 1.1.1.1.2.3.10.1
src/crypto/kerberosIV/appl/telnet/telnet/telnet.c 1.1.1.1.22.1
src/crypto/telnet/telnet/telnet.c 1.4.2.5.12.1
src/sys/conf/newvers.sh 1.44.2.39.2.5
src/usr.bin/telnet/telnet.c 1.8.2.3.12.1
RELENG_4_10
src/UPDATING 1.73.2.90.2.7
src/crypto/heimdal/appl/telnet/telnet/telnet.c 1.1.1.1.2.3.8.1
src/crypto/kerberosIV/appl/telnet/telnet/telnet.c 1.1.1.1.20.1
src/crypto/telnet/telnet/telnet.c 1.4.2.5.10.1
src/sys/conf/newvers.sh 1.44.2.34.2.8
src/usr.bin/telnet/telnet.c 1.8.2.3.10.1
RELENG_4_8
src/UPDATING 1.73.2.80.2.32
src/crypto/heimdal/appl/telnet/telnet/telnet.c 1.1.1.1.2.3.4.1
src/crypto/kerberosIV/appl/telnet/telnet/telnet.c 1.1.1.1.16.1
src/crypto/telnet/telnet/telnet.c 1.4.2.5.6.1
src/sys/conf/newvers.sh 1.44.2.29.2.29
src/usr.bin/telnet/telnet.c 1.8.2.3.6.1
RELENG_5
src/contrib/telnet/telnet/telnet.c 1.14.6.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.9
src/contrib/telnet/telnet/telnet.c 1.14.8.1
src/sys/conf/newvers.sh 1.62.2.15.2.11
- -------------------------------------------------------------------------
VII. References
[IDEF0866] Multiple Telnet Client slc_add_reply() Buffer Overflow
http://www.idefense.com/application/poi/display?id=220&type=vulnerabilities
[IDEF0867] Multiple Telnet Client env_opt_add() Buffer Overflow
http://www.idefense.com/application/poi/display?id=221&type=vulnerabilities
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0
iD8DBQFCSECrFdaIBMps37IRAnRJAJ0VbP6TyaX7SLE2EwSrIYU25JSD9wCfYoe9
Qg2Lw/6QFLOgYG1jPuzogEs=
=0rFv
-----END PGP SIGNATURE-----