Buffer Overflow Vulnerability in suidperl/sperl program

SGI Security Coordinator (agent99@BOYTOY.CSD.SGI.COM)
Mon, 06 Apr 1998 15:09:20 -0700

DISTRIBUTION RESTRICTIONS - NONE - FOR PUBLIC RELEASE

-----BEGIN PGP SIGNED MESSAGE-----

______________________________________________________________________________
Silicon Graphics Inc. Security Advisory

Title: Buffer Overflow Vulnerability in suidperl/sperl program
Title: CERT CA-97.17 and AUSCERT AA-97.13
Number: 19980404-01-I
Date: April 6, 1998
______________________________________________________________________________

Silicon Graphics provides this information freely to the SGI user community
for its consideration, interpretation, implementation and use. Silicon
Graphics recommends that this information be acted upon as soon as possible.

Silicon Graphics provides the information in this Security Advisory on
an "AS-IS" basis only, and disclaims all warranties with respect thereto,
express, implied or otherwise, including, without limitation, any warranty
of merchantability or fitness for a particular purpose. In no event shall
Silicon Graphics be liable for any loss of profits, loss of business, loss
of data or for any indirect, special, exemplary, incidental or consequential
damages of any kind arising from your use of, failure to use or improper
use of any of the instructions or information in this Security Advisory.
______________________________________________________________________________

- -----------------------
- --- Issue Specifics ---
- -----------------------

The suidperl or sperl program is an altered versions of PERL which allows
PERL scripts to be run under the setuid of a particular user.

Unfortunately, a buffer overrun has been discovered in the suidperl/sperl
program which could allow arbitrary commands to be run as the
privileged user root.

Silicon Graphics Inc. has investigated the issue and recommends the
following steps for neutralizing the exposure. It is HIGHLY RECOMMENDED
that these measures be implemented on ALL vulnerable SGI systems.

- --------------
- --- Impact ---
- --------------

As a service to its customers, Silicon Graphics provides IRIX installable
inst images of many popular "free" software packages and can be found
on the SGI Freeware 1.0/2.0 CD or online at:

http://www.sgi.com/TasteOfDT/public/freeware.html

The suidperl/sperl program is freeware and is not installed by default.

Versions 5.003 and lower of suidperl/sperl have this buffer overrun
vulnerability.

With a local account, the suidperl/sperl buffer overrun vulnerability can be
exploited locally and remotely.

The suidperl/sperl buffer overrun vulnerability can be utilized to execute
commands with root privileges.

The suidperl/sperl buffer overrun vulnerability has been publicly discussed
in Usenet newsgroups and mailing lists and also reported in CERT Advisory
CA-97.17 and AUSCERT Advisory AA-97.13.

- --------------------------
- --- Temporary Solution ---
- --------------------------

Although new releases of suidperl/sperl are available to fix this issue, it
is realized that there may be situations where installing the new release
immediately may not be possible.

To determine if a system is vulnerable to this problem and to disable
the programs that are believed to be vulnerable, use the following steps.

1) Become the root user on the system.

% /bin/su -
Password:
#

2) Find suidperl or sperl programs and disable them.

You will need to run the find(1) command on each system you
maintain because the command examines files on local disks only.

Note that this is one long command, though we have separated it
onto five lines using backslashes.

# find / -local -type f -user root \
\( -name 'sperl4.[0-9][0-9][0-9]' \
-o -name 'sperl5.00[0-3]' \
-o -name 'suidperl' \) \
-perm -04000 -print -ok chmod ug-s '{}' \;

This command will find all files on a system that are
- only in the file system you name (/ -local)
- regular files (-type f)
- owned by root (-user root)
- named appropriately (-name 'sperl4.[0-9][0-9][0-9]' -o -name
'sperl5.00[0-3]' -o -name 'suidperl')
- setuid root (-perm -04000)

Once found, those files will
- have their names printed (-print)
- have their modes changed, but only if you type `y' in response
to the prompt (-ok chmod ug-s '{}' \;)

After you have run this command on all your systems, they will no
longer be vulnerable. Note that after disabling the suidperl and sperl
programs, they will no longer be able to emulate the set-user-ID and
set-group-ID features of the kernel.

3) Return to previous level.

# exit
$

- ----------------
- --- Solution ---
- ----------------

No Silicon Graphic's patches are available for freeware software.
As freeware software, all reasonable efforts will be made to address
the issue in future releases of the Silicon Graphic's Freeware.

Unsupported patches are publicly available from http://www.perl.com/

- ------------------------
- --- Acknowledgments ---
- ------------------------

Silicon Graphics wishes to thank the Internet Community, CERT Coordination
Center, and AUSCERT for their assistance in this matter.

- -----------------------------------------------------------
- --- Silicon Graphics Inc. Security Information/Contacts ---
- -----------------------------------------------------------

If there are questions about this document, email can be sent to
cse-security-alert@sgi.com.

------oOo------

Silicon Graphics provides security information and patches for
use by the entire SGI community. This information is freely
available to any person needing the information and is available
via anonymous FTP and the Web.

The primary SGI anonymous FTP site for security information and patches
is sgigate.sgi.com (204.94.209.1). Security information and patches
are located under the directories ~ftp/security and ~ftp/patches,
respectively. The Silicon Graphics Security Headquarters Web page is
accessible at the URL http://www.sgi.com/Support/security/security.html.

For issues with the patches on the FTP sites, email can be sent to
cse-security-alert@sgi.com.

For assistance obtaining or working with security patches, please
contact your SGI support provider.

------oOo------

Silicon Graphics provides a free security mailing list service
called wiretap and encourages interested parties to self-subscribe
to receive (via email) all SGI Security Advisories when they are
released. Subscribing to the mailing list can be done via the Web
(http://www.sgi.com/Support/security/wiretap.html) or by sending email
to SGI as outlined below.

% mail wiretap-request@sgi.com
subscribe wiretap <YourEmailAddress>
end
^d

In the example above, <YourEmailAddress> is the email address that you
wish the mailing list information sent to. The word end must be on a
separate line to indicate the end of the body of the message. The
control-d (^d) is used to indicate to the mail program that you are
finished composing the mail message.

------oOo------

Silicon Graphics provides a comprehensive customer World Wide Web site.
This site is located at http://www.sgi.com/Support/security/security.html.

------oOo------

For reporting *NEW* SGI security issues, email can be sent to
security-alert@sgi.com or contact your SGI support provider. A
support contract is not required for submitting a security report.

______________________________________________________________________________
This information is provided freely to all interested parties and may
be redistributed provided that it is not altered in any way, Silicon
Graphics is appropriately credited and the document retains and
includes its valid PGP signature.

-----BEGIN PGP SIGNATURE-----
Version: 2.6.2

iQCVAwUBNSlKpLQ4cFApAP75AQFX/gP+JJi7lzq3za0b0Xfb39KiwRAh6EBH7IG/
+YJxB6/Crt+cb9ez4P1IujrVmJ5TFZhxDfTJEG9eyhxNj4Lgz/XZTFmTfZmVMZyL
BVKJl9IQNyjoEAajUjqARJqctjAWDbZ6PT/kb478SPEa4KXn4OzcqldW8E0KgjCN
eiDvpZovM0A=
=NTlB
-----END PGP SIGNATURE-----