FreeBSD Security Advisory FreeBSD-SA-05:01.telnet

From: FreeBSD Security Advisories (security-advisories_at_freebsd.org)
Date: 03/28/05

  • Next message: iDEFENSE Labs: "iDEFENSE Security Advisory 03.28.05: Multiple Telnet Client env_opt_add() Buffer Overflow Vulnerability"
    Date: Mon, 28 Mar 2005 19:52:14 GMT
    To: Bugtraq <bugtraq@securityfocus.com>
    
    

    -----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-----


  • Next message: iDEFENSE Labs: "iDEFENSE Security Advisory 03.28.05: Multiple Telnet Client env_opt_add() Buffer Overflow Vulnerability"

    Relevant Pages

    • FreeBSD Security Advisory FreeBSD-SA-05:01.telnet
      ... For general information regarding FreeBSD Security Advisories, ... The telnetcommand is a TELNET protocol client, ... establish terminal sessions across a network. ... fixed-sized buffer. ...
      (FreeBSD-Security)
    • [FreeBSD-Announce] FreeBSD Security Advisory FreeBSD-SA-05:01.telnet
      ... For general information regarding FreeBSD Security Advisories, ... The telnetcommand is a TELNET protocol client, ... establish terminal sessions across a network. ... fixed-sized buffer. ...
      (freebsd-announce)
    • Re: Netstat -r in Linux Vs FreeBSD
      ... > verbose in FreeBSD, and shows routes to all nodes on a network. ... The man page for any given command is a useful reference when working in ...
      (comp.os.linux.networking)
    • Re: server scenario - variables in the right spot?
      ... If I'm correct in what I think you mean by 'data structures' then I also ... steps, the command has, and a way to mark which steps are done or not done, ... Assuming you are using the same receive callback for each BeginReceive, ... that processes the data for the first buffer. ...
      (microsoft.public.dotnet.languages.csharp)
    • Re: server scenario - variables in the right spot?
      ... ReceiveCallback calling beginReceive again: I do this but not exactly how ... Assuming you are using the same receive callback for each BeginReceive, then I don't see what the difference is. ... The posted receive won't be completed until after the command has been sent and replied to, of course, but there's no harm in being ready to receive beforehand. ... you would wind up running the code in the callback that actually processes the data for that buffer before the code in the same callback that processes the data for the first buffer. ...
      (microsoft.public.dotnet.languages.csharp)