AA-96.04.HP.SD-UX.vulnerability
ceabdf00c4260cb665f414553a9b09f9b273a795642c42fcf1ad3311b18da215
-----BEGIN PGP SIGNED MESSAGE-----
===========================================================================
AA-96.04 AUSCERT Advisory
Vulnerability in HP Software Installation Programs
11 October 1996
Last Revised:
- ---------------------------------------------------------------------------
AUSCERT has received information that there is a vulnerability in the
Hewlett Packard Software Distributor product, SD-UX, used to install,
update, remove and package HP-UX software and patches. This software is
installed by default under HP-UX 10.x and may have been specifically
installed as additional software under HP-UX 9.x. Any system with the
SD-UX package installed is vulnerable.
This vulnerability may allow local users to gain root privileges.
Exploit details involving this vulnerability have been made publicly
available.
Vendor patches are being developed, but until they are made available,
AUSCERT recommends that sites take the actions suggested in Section 3.
- ---------------------------------------------------------------------------
1. Description
The HP Software Distributor (SD-UX) is a package that provides a user
interface which can be used to install, update, remove, and package HP-UX
software and patches.
The programs supplied with this package create files in an insecure
manner. As these programs execute with root privileges, it is possible
to create or over-write arbitrary files on the system. The default
location of the programs supplied by the package is /usr/sbin.
To determine if you have SD-UX installed on your system, check for
the presence of the swinstall (and related) files using the
following command:
% ls -l /usr/sbin/sw*
Individual sites are encouraged to check their systems for the SD-UX
package, and if installed, take the actions recommended in Section 3.
2. Impact
Local users may be able to create or over-write arbitrary files on
the system. This can be leveraged to gain root privileges.
3. Workarounds/Solution
AUSCERT recommends that sites prevent possible exploitation of this
vulnerability by taking the measures stated in Section 3.1 immediately.
If software maintenance is required, AUSCERT advises that sites
use one of the workarounds given in 3.2, preferably that described in
Section 3.2.1.
Vendor patches may also address this vulnerability in the
future (Section 3.3).
3.1 Remove permissions
Until official patches are available sites are encouraged to completely
prevent the execution of all vulnerable SD-UX programs by any user
(including root).
# chmod 400 /usr/sbin/swinstall
# chmod 400 /usr/sbin/swmodify
Note that if only the setuid permissions are removed, it is still
possible for users to gain the privileges of any user executing
the SD-UX programs (including root).
3.2 Workarounds
AUSCERT recommends that if software maintenance is required, sites
implement one of the following workarounds until official vendor
patches are made available.
The workaround described in 3.2.1 is the preferred method of doing
software maintenance. If sites are unable to bring their machines
into single user mode, the workaround given in Section 3.2.2 may be
more applicable.
3.2.1 Run in single user mode
If packages must be installed, the machine should be brought into
single-user mode, execute permissions re-enabled on
/usr/sbin/swinstall,
# chmod 700 /usr/sbin/swinstall
# chmod 700 /usr/sbin/swmodify
and all symbolic links in /var/tmp and /tmp removed. The following
command can be used to remove the symbolic links:
# find /tmp /var/tmp -type l -ok rm {} \;
Once this has been completed, any software package maintenance may be
safely performed.
The execute permissions on the vulnerable programs must be removed
before the machine is brought back into multi-user mode.
# chmod 400 /usr/sbin/swinstall
# chmod 400 /usr/sbin/swmodify
3.2.2 Change temporary file environment variable
This workaround should only be used if the SD-UX programs must be used
while the machine is in multi-user mode.
The SD-UX programs use a number of temporary files. The location of
these files can be configured using the environment variable TMPDIR.
It is possible to set the environment variable TMPDIR to a non-world
writable directory. Having the temporary files created in a non-world
writable directory prevents the exploitation of the vulnerability
described in this advisory.
NOTE: The environment variable must be set in each login
session BEFORE any SD-UX programs are used.
To use this method, the following steps must be taken:
1) As root, create a non-world writable temporary directory for the
temporary files used by the SD-UX programs. The location of these
temporary files can be configured with the TMPDIR environment variable.
In this workaround, we have chosen to use the directory
/var/tmp/SD_tmp.
# mkdir /var/tmp/SD_tmp
# chmod 700 /var/tmp/SD_tmp
For this workaround to be effective, sites should ensure that the
parent directory of $TMPDIR has the sticky bit set if the parent
directory is world writable. In this workaround, /var/tmp is the
directory concerned. The sticky bit on /var/tmp can be set with the
command:
# chmod 1777 /var/tmp
In all sessions where software maintenance is performed:
2) Change permissions on the vulnerable programs:
# chmod 700 /usr/sbin/swinstall
# chmod 700 /usr/sbin/swmodify
3) Set the environment variable TMPDIR:
(under csh)
# setenv TMPDIR /var/tmp/SD_tmp
(under sh)
# TMPDIR=/var/tmp/SD_tmp; export TMPDIR
and verify that the directory exists and is writable by root.
# ls -ld $TMPDIR
4) Perform any software package maintenance.
5) Remove the execute permissions on the vulnerable programs:
# chmod 400 /usr/sbin/swinstall
# chmod 400 /usr/sbin/swmodify
6) The environment variable TMPDIR is used by many other programs.
You should either exit this interactive session, or reset the
TMPDIR environment variables before continuing.
NOTE: Steps 2) through 6) must be repeated each time software
maintenance is performed.
3.3 Install vendor patches
Official vendor patches are currently being developed to address the
vulnerability described in this advisory. When vendor patches are
made available, AUSCERT suggests that they be installed.
- ---------------------------------------------------------------------------
AUSCERT thanks Information Technology Services of the University of Southern
Queensland, Viviani Paz (The University of Queensland) and Hewlett Packard
for their assistance in this matter.
- ---------------------------------------------------------------------------
The AUSCERT team have made every effort to ensure that the information
contained in this document is accurate. However, the decision to use the
information described is the responsibility of each user or organisation.
The appropriateness of this document for an organisation or individual
system should be considered before application in conjunction with local
policies and procedures. AUSCERT takes no responsibility for the
consequences of applying the contents of this document.
If you believe that your system has been compromised, contact AUSCERT or
your representative in FIRST (Forum of Incident Response and Security
Teams).
AUSCERT is located at The University of Queensland within the Prentice
Centre. AUSCERT is a full member of the Forum of Incident Response and
Security Teams (FIRST).
AUSCERT maintains an anonymous FTP service which is found on:
ftp://ftp.auscert.org.au/pub/. This archive contains past SERT and AUSCERT
Advisories, and other computer security information.
AUSCERT also maintains a World Wide Web service which is found on:
http://www.auscert.org.au/.
Internet Email: auscert@auscert.org.au
Facsimile: (07) 3365 4477
Telephone: (07) 3365 4417 (International: +61 7 3365 4417)
AUSCERT personnel answer during Queensland business hours
which are GMT+10:00 (AEST).
On call after hours for emergencies.
Postal:
Australian Computer Emergency Response Team
c/- Prentice Centre
The University of Queensland
Brisbane
Qld. 4072.
AUSTRALIA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Revision History
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3i
Charset: noconv
Comment: ftp://ftp.auscert.org.au/pub/auscert/AUSCERT_PGP.key
iQCVAwUBMl5R5ih9+71yA2DNAQFnXAP/REB59dfdEdDzfQdmOj/51HsxkAsQg8Ad
P210LBOPwUJ52OQKlFxtPGqbcx0lond/W4A6byt3kVJzVcAJVg/OEkp2StyD54Ei
OWgJ2klOO2coiDrR1QFdmkPBucWzaTrMBAuKtVMY2sxc+dFlNBM8F2jk8C+TJeDB
cBAqEVNjKus=
=cFIq
-----END PGP SIGNATURE-----