Atstake Security Advisory A021403-1 - Mac OS X v10.2.3 contains a local root vulnerability in the TruBlueEnvironment portion of the MacOS Classic Emulator, which is suid root and installed by default.
922979add04dd03a99e8b8cf1546f75144cba14cd5ed8c57ec889932256bc0db
@stake, Inc.
www.atstake.com
Security Advisory
Advisory Name: TruBlueEnvironment Privilege Escalation Attack
Release Date: 02/14/2003
Application: TruBlueEnvironment
Platform: MacOS X (10.2.3 and below)
Severity: Local users can gain root privileges
Author: Dave G. <daveg@atstake.com>
Vendor Status: updated version of OS available
CVE Candidate: CAN-2003-XXXX
Reference: www.atstake.com/research/advisories/2003/a021403-1.txt
Overview:
TruBlueEnvironment is part of the MacOS Classic Emulator. It
is setuid root and installed by default. By setting certain environment
variables, it is possible to overwrite any file on the system, or create
arbitrary files owned as root with the attacker's umask. This
vulnerability can be leveraged to create files that will get executed by
root through the cron facility.
Details:
TruBluEnvironment uses an environment variable to determine where to write
out debugging information. Local users can set this to environment
variable to point at any file on the filesystem. If the file exists, it
will be reset to zero bytes. If the file does not exist, it will be
created with the umask inherited from the calling process. While attackers
cannot create files with execute permissions set, they can create files
that are world writable.
Under MacOS X, this vulnerability can be used to create files that will
be run automatically via cron. By default, cron will launch maintenance
scripts using the periodic command. This command will take several files
and either 'source' them or run them through a shell interpreter. Since
these scripts are running as root, it is possible to obtain administrator
privileges on any MacOS X system running cron and TruBlueEnvironment.
Vendor Response:
Classic: The Mac OS X 10.2.4 release fixes CAN-2003-0088, where an attacker
may change an environment variable to create arbitrary files or overwrite
existing files, which could lead to obtaining elevated privileges.
Credit to Dave G. from @stake, Inc. for discovering this issue.
Recommendation:
If possible upgrade to Mac OS X 10.2.4. Another solution is to restrict
access to the TruBlueEnvironment(*) executable, or remove it entirely if
it is not being used. One approach to restricting access would be to
remove global execute permissions from the TruBlueEnvironment executable,
and only allow a specific group to execute the application. The following
commands will restrict access to the 'admin' group:
sudo chown .admin /System/Library/CoreServices/Classic\
Startup.app/Contents/Resources/TruBlueEnvironment
sudo chmod 4750 /System/Library/CoreServices/Classic\
Startup.app/Contents/Resources/TruBlueEnvironment
(*) Located in /System/Library/CoreServices/Classic
Startup.app/Contents/Resources/TruBlueEnvironment
Common Vulnerabilities and Exposures (CVE) Information:
The Common Vulnerabilities and Exposures (CVE) project has assigned
the following names to these issues. These are candidates for
inclusion in the CVE list (http://cve.mitre.org), which standardizes
names for security problems.
CAN-2003-0088
@stake Vulnerability Reporting Policy:
http://www.atstake.com/research/policy/
@stake Advisory Archive:
http://www.atstake.com/research/advisories/
PGP Key:
http://www.atstake.com/research/pgp_key.asc
Copyright 2003 @stake, Inc. All rights reserved.