Sun Restore Hole

Original issue date: July 26, 1989
Last revised: September 16, 1997
Attached copyright statement

A complete revision history is at the end of this file.

A security hole has been found in SunOS restore.  This problem affects SunOS 4.0, 4.0.1, and 4.0.3 systems.  It does not appear in SunOS 3.5. The problem occurs because restore is setuid to root.  Without going into details, is sufficient to say that this is a serious hole.  All SunOS 4.0 installations should install this workaround.  Note that a user does need to have an existing account to exploit this hole.

There are two workarounds that will fix the problem.  The first is slightly more secure but has some side-effects. 

  1. Make restore non-setuid by becoming root and doing a
    chmod 750 /usr/etc/restore
    This makes restore non-setuid and unreadable and unexecutable by ordinary users.

    Making restore non-setuid affects the restore command using a remote tape drive.  You will no longer be able to run a restore from another machine as an ordinary user; instead, you'll have be root to do so. (The reason for this is that the remote tape drive daemon on the machine with the tape drive expects a request on a TCP privileged port.  Under SunOS, you can't get a privileged port unless you are root.  By making restore non-setuid, when you run restore and request a remote tape drive, restore won't be able to get a privileged port, so the remote tape drive daemon won't talk to it.)

  2. If you do need to have some users run restore from remote tape drives without being root, you can use the following workaround.

    cd /usr/etc
    chgrp operator restore
    chmod 4550 restore
    This allows the use of restore by some trusted group.  In this case, we used the group 'operator', but you may substitute any other group that you trust with access to the tape drive.  Thus, restore is still setuid and vulnerable, but only to the people in the trusted group.

    The 4550 makes restore readable and executable by the group you specified, and unreadable by everyone else.

    Sun knows about this problem (Sun Bug 1019265) and will put in a more permanent fix in a future release of SunOS.

This document is available from:

CERT/CC Contact Information

Phone: +1 412-268-7090 (24-hour hotline)
Fax: +1 412-268-6989
Postal address:
CERT Coordination Center
Software Engineering Institute
Carnegie Mellon University
Pittsburgh PA 15213-3890

CERT/CC personnel answer the hotline 08:00-17:00 EST(GMT-5) / EDT(GMT-4) Monday through Friday; they are on call for emergencies during other hours, on U.S. holidays, and on weekends.

Using encryption

We strongly urge you to encrypt sensitive information sent by email.  Our public PGP key is available from

If you prefer to use DES, please call the CERT hotline for more information.

Getting security information

CERT publications and other security information are available from our web site

* "CERT" and "CERT Coordination Center" are registered in the U.S. Patent and Trademark Office.

Any material furnished by Carnegie Mellon University and the Software Engineering Institute is furnished on an "as is" basis. Carnegie Mellon University makes no warranties of any kind, either expressed or implied as to any matter including, but not limited to, warranty of fitness for a particular purpose or merchantability, exclusivity or results obtained from use of the material. Carnegie Mellon University does not make any warranty of any kind with respect to freedom from patent, trademark, or copyright infringement.

Conditions for use, disclaimers, and sponsorship information

Copyright 1989 Carnegie Mellon University.

Revision History
September 16, 1997  Attached copyright statement