• Bug#266370: [[email protected]: NetBSD Security Advisory 2004

    From Noah Meyerhans@1:229/2 to All on Tue Aug 17 21:10:08 2004
    From: [email protected]

    Package: lukemftpd
    Severity: critical
    Tags: security

    OK, so there are no actual details of what this vulnerability actually
    is, but it apparently affects all currently available versions of
    lukemftpd. I don't know if the vulnerabilities are NetBSD specific or
    not...

    noah

    ----- Forwarded message from NetBSD Security-Officer <[email protected]> -----

    Date: Tue, 17 Aug 2004 13:48:22 -0400
    From: NetBSD Security-Officer <[email protected]>
    To: [email protected]
    Subject: NetBSD Security Advisory 2004-009: ftpd root escalation
    Organisation: The NetBSD Foundation, Inc.


    -----BEGIN PGP SIGNED MESSAGE-----


    NetBSD Security Advisory 2004-009
    =================================

    Topic: ftpd root escalation

    Version: NetBSD-current: source prior to Aug 10, 2004
    NetBSD 2.0 branch: source prior to Aug 15, 2004
    NetBSD 1.6.2: affected
    NetBSD 1.6.1: affected
    NetBSD 1.6: affected
    NetBSD-1.5.3: affected
    NetBSD-1.5.2: affected
    NetBSD-1.5.1: affected
    NetBSD-1.5: affected
    pkgsrc: net/lukemftpd all versions
    pkgsrc: net/tnftpd prior to tnftpd-20040810

    Severity: Remote root for systems providing ftpd service

    Fixed: NetBSD-current: Aug 10, 2004
    NetBSD-2.0 branch: Aug 15, 2004 (2.0 will include the fix)
    NetBSD-1.6 branch: Pullups not yet issued.
    See Solutions section.
    (1.6.3 will include the fix)
    NetBSD-1.5 branch: Pullups not yet issued.
    See Solutions section.
    pkgsrc net/lukemftpd: Update pkgsrc, this package was
    renamed to tnftpd
    net/tnftpd: tnftpd-20040810 corrects this issue


    Abstract
    ========

    A set of flaws in the ftpd source code can be used together to
    achieve root access within an ftp session. With root file manipulation
    ability, mechanisms to gain a shell are numerous, so this issue
    should be considered a remote root situation.

    ftpd is disabled by default in NetBSD since NetBSD-1.5.3, however
    many users might have reason to provide this popular service.


    Technical Details
    =================

    Przemyslaw Frasunek is going to release a detailed analysis very
    shortly. A URL will be provided here when available.

    Since this serious issue affects many users, we won't share information
    in this version of the advisory, as it would ease development of
    exploits.


    Solutions and Workarounds
    =========================

    Confirm that the host in question is running ftpd, by checking the ftp
    entries in /etc/inetd.conf. By default, the entries look like this:

    #ftp stream tcp nowait root /usr/libexec/ftpd ftpd -ll
    #ftp stream tcp6 nowait root /usr/libexec/ftpd ftpd -ll

    If the comment character (#) has been removed from the start of the
    lines, then ftp has been enabled on this host. Hosts not running ftpd
    are not vulnerable, but ftpd should be updated to prevent future
    exposure if ftpd is enabled at a later date.

    If ftpd has been configured to run with the -r option, then your server
    is not vulnerable. Adding -r may be an acceptable workaround for some
    sites, until ftpd can be upgraded.

    To determine if a host is running a vulnerable version of ftpd, compare
    the version string in the login banner (if displayed).

    Any version of lukemftpd,
    any version of NetBSD-ftpd prior to 20040809, or
    any version of tnftpd prior to 20040810 is vulnerable.

    % ftp ftp.server.host
    Connected to ftp.server.host.
    220 ftp.server.host FTP server (tnftpd 20040810) ready.
    ^^^^^^^^^^^^^^^
    Patched ftp server.

    * Workaround: Disable ftpd
    As root, comment out the ftp lines in /etc/inetd.conf,
    and execute the following command to disable ftpd:

    % /etc/rc.d/inetd reload

    Even if you plan to update ftpd, it is worthwhile to
    disable ftpd until it is upgraded, in case you are
    distracted and do not complete the update in a timely
    fashion.

    * Workaround: Drop root privileges
    As root, add -r to the command line options for any
    ftp entry in /etc/inetd.conf. Then run:

    % /etc/rc.d/inetd reload

    This option may not be acceptable at all sites, since
    client compatibility issues are possible. See the
    ftpd manpage for more details about -r.

    If all untrusted user accounts are listed in /etc/ftpchroot, then the
    root file access gained will only be effective inside the chrooted
    directory. This is not a guarantee against further privilege
    escalation, especially in concert with social engineering.

    If you have ftp servers that run in chrooted environments, make sure to
    update ftpd binaries in chrooted copies of /usr/libexec or
    /usr/pkg/libexec, and ensure that inetd.conf points to the correct
    executable.


    The following instructions describe how to upgrade your ftpd
    binaries by updating your source tree and rebuilding and
    installing a new version of ftpd.

    * NetBSD-current:

    Systems running NetBSD-current dated from before 2004-08-09
    should be upgraded to NetBSD-current dated 2004-08-10 or later.

    The following directories need to be updated from the
    netbsd-current CVS branch (aka HEAD):
    src/libexec/ftpd

    To update from CVS, re-build, and re-install ftpd:
    # cd src
    # cvs update -d -P src/libexec/ftpd
    # cd src/libexec/ftpd

    # make USETOOLS=no cleandir dependall
    # make USETOOLS=no install


    * NetBSD 2.0_BETA:

    The binary distribution of NetBSD 2.0_BETA is vulnerable.

    Systems running NetBSD 2.0_BETA dated from before 2004-08-14
    should be upgraded to NetBSD 2.0_BETA dated 2004-08-15 or later.

    The following directories need to be updated from the
    netbsd-2-0 CVS branch:
    src/libexec/ftpd

    To update from CVS, re-build, and re-install ftpd:
    # cd src
    # cvs update -d -P src/libexec/ftpd
    # cd src/libexec/ftpd

    # make USETOOLS=no cleandir dependall
    # make USETOOLS=no install


    * NetBSD 1.6, 1.6.1, 1.6.2:
    * NetBSD 1.5, 1.5.1, 1.5.2, 1.5.3:
    * NetBSD prior to 1.5:

    The binary distribution of NetBSD 1.6.2 and all prior releases
    are vulnerable.

    Pullups will be issued to the release branches of NetBSD-1-6,
    and NetBSD-1-5.


    [continued in next message]

    --- SoupGate-Win32 v1.05
    * Origin: you cannot sedate... all the things you hate (1:229/2)