Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
Bugtraq archives for 2nd quarter (Apr-Jun) 1998: RSI.0002.05-18-98.BNU.UUCPD


RSI Advise (adviseREPSEC.COM)
Tue, 19 May 1998 02:31:27 -0700


        |::::.  |:::::: |:::::.        |:::::: |:::::: |:::::.
        |..  :: |..     |..  ::        |..     |..     |..  ::
        |:::::  |:::::  |:::::  :::::: |:::::: |:::::  |::
        |::  :: |::     |::                |:: |::     |::  ::
        |::  :: |:::::: |::            |:::::: |:::::: |::::::

                   Repent Security Incorporated, RSI
                       [ http://www.repsec.com ]

                       *** RSI ALERT ADVISORY ***

--- [CREDIT] --------------------------------------------------------------

Vulnerability found by: Matt Conover <mattrepsec.com>

Notes: This advisory has been brought to you by WSD;
       RSI's official research & development team. <wsdrepsec.com>
       Webpage: http://www.w00w00.org

Authors: Matt Conover & Mark Zielinski

--- [SUMMARY] -------------------------------------------------------------

Announced:     April 21, 1998
Report code:   RSI.0002.05-18-98.BNU.UUCPD
Report title:  BNU uucpd
Vulnerability: Insufficient bounds checking
Vendor status: NetBSD:  Contacted, patch information below
               OpenBSD: Contacted, patch information below
               Solaris: Contacted, awaiting patch information
Patch status:  Patch available for certain Operating Systems at the end of
               this advisory
Platforms:     OSF 1.0, 2.0,
               SunOS 4.1.3, 4.1.4
               Solaris 2.2, 2.3, 2.4, 2.5.1
               NetBSD 1.3, 1.3.1
               OpenBSD 2.1, 2.2
Not affected:  FreeBSD 2.x
               BSDi 2.x, 3.x
               RedHat Linux 4.x, 5.x
               Slackware Linux 3.x
Reference:     http://www.repsec.com/advisories.html
Impact:        If exploited, an attacker could locally compromise root on
               your system.

--- [DETAILS] -------------------------------------------------------------

Problem:       Upon successfully logging into a system with uucpd,
               the daemon will attempt to record wtmp information.
               However, due to insufficient bounds checking, a buffer
               overflow can result when uucpd attempts to copy the
               connecting hostname into a buffer with a predefined size.

               While overwriting the buffer, the attacker can manipulate
               the stack and execute their own commands, possibly gaining
               root access into the system.

               The attacker must have an account on the system, which
               will allow this to be exploited.

               This problem is present in BNU uucpd.  This is not
               installed by default on every operating system.
               This also may not always run as root.

               Known vulnerable Operating Systems include:

               OSF 1.0, 2.0,
               SunOS 4.1.3, 4.1.4
               Solaris 2.2, 2.3, 2.4, 2.5.1
               NetBSD 1.3, 1.3.1
               OpenBSD 2.1, 2.2

               Operating Systems not vulnerable:

               FreeBSD 2.x
               BSDi 2.x, 3.x
               RedHat Linux 4.x, 5.x
               Slackware Linux 3.x

               For more information on this type of attack, point your
               web browsers to http://www.repsec.com/bofs.html.

--- [FIX] -----------------------------------------------------------------

Solution:      A generic patch has been made publically available by the RSI staff.

--- [PATCH] ---------------------------------------------------------------

Solution:      Apply the following patch to uucpd.c:

--- uucpd.old.c     Thu Feb  6 06:34:45 1997
+++ uucpd.c    Tue Apr  7 16:37:46 1998
 -300,7 +300,8 

                lseek(f, pw->pw_uid * sizeof(struct lastlog), 0);
-               strcpy(line, remotehost);
+               strncpy(line, remotehost, sizeof(line)-1);
                SCPYN(ll.ll_line, line);
                SCPYN(ll.ll_host, remotehost);
                (void) write(f, (char *) &ll, sizeof ll);

For NetBSD's patch please refer to: http://www.repsec.com/advisory/0002.patch.html


Repent Security Incorporated (RSI)
13610 N. Scottsdale Rd.
Suite #10-326
Scottsdale, AZ

[ http://www.repsec.com ]


Version: 2.6.2


Copyright May 1998  RepSec, Inc.

The information in this document is provided as a service to customers
of RepSec, Inc.  Neither RepSec, Inc., nor any of it's employees, makes
any warranty, express or implied, or assumes any legal liability or
responsibility for the accuracy, completeness, or usefulness of any
information, apparatus, product, or process contained herein, or
represents that its use would not infringe any privately owned rights.
Reference herein to any specific commercial products, process, or
services by trade name, trademark, manufacturer, or otherwise, does not
necessarily constitute or imply its endorsement, recommendation or
favoring by RepSec, Inc.  The views and opinions of authors express
herein do no necessarily state or reflect those of RepSec, Inc., and may
not be used for advertising or product endorsement purposes.

The material in this alert advisory may be reproduced and distributed,
without permission, in whole or in part, by other security incident
response teams (both commercial and non-commercial), provided the above
copyright is kept intact and due credit is given to RepSec, Inc.

This alert advisory may be reproduced and distributed, without
permission, in its entirety only, by any person provided such
reproduction and/or distribution is performed for non-commercial
purposes and with the intent of increasing the awareness of the Internet


RepSec, Inc. are trademarks of RepSec, Inc.  All other trademarks are
property of their respective holders.