[ advisories | exploits | discussions | news | conventions | security tools | texts & papers ]
 main menu
- feedback
- advertising
- privacy
- FightAIDS
- newsletter
- news
- read forum
- new topic
- search

- meetings list
- recent additions
- add your info
 top 100 sites
- visit top sites
- sign up now
- members

- add your url
- add domain
- search box
- link to us

- our projects
- free email
 m4d network
- security software
- secureroot
- m4d.com
Home : Advisories : SunOS Environment Variables and setuid/setgid Vuln

Title: SunOS Environment Variables and setuid/setgid Vuln
Released by: CERT
Date: 27th May 1992
Printable version: Click here

Hash: SHA1



Last Revised:  September 19,1997

                Attached copyright statement

                                CERT Advisory

                                May 27, 1992

             SunOS Environment Variables and setuid/setgid Vulnerability

- ---------------------------------------------------------------------------

The Computer Emergency Response Team/Coordination Center (CERT/CC) has

received information concerning a vulnerability involving environment

variables and setuid/setgid programs under Sun Microsystems Computer

Corporation SunOS.  This vulnerability exists on all Sun architectures

running SunOS 4.0 and higher.

In-house and third-party software can also be impacted by this

vulnerability.  For example, the current versions of rnews, sudo,

smount, and npasswd are known to be vulnerable under SunOS.  See the

Description section of this advisory for details of how to identify

software which may be vulnerable.

The workaround detailed in this advisory can be used to protect

vulnerable software on SunOS operating system versions for which

patches are unavailable, or for local or third party software which

may be vulnerable.

Sun has provided patches for SunOS 4.1, 4.1.1, and 4.1.2 programs

which are known to be impacted by this vulnerability.  They are

available through your local Sun Answer Center as well as through

anonymous ftp from the ftp.uu.net ( system in the

/systems/sun/sun-dist directory.

Fix                     PatchID        Filename            Checksum

login and su            100630-01      100630-01.tar.Z     36269    39

sendmail                100377-04      100377-04.tar.Z     14692   311

Note: PatchID 100630-01 contains the international version of

/usr/bin/login.  PatchID 100631-01 contains the domestic version

of /usr/bin/login and is only available from Sun Answer Centers for

sites that use the US Encryption Kit.

Please note that Sun will occasionally update patch files.  If you

find that the checksum is different please contact Sun or the CERT/CC

for verification.

- ---------------------------------------------------------------------------

I.   Description

     A security vulnerability exists if a set-user-id program changes

     its real and effective user ids to be the same (but not to the

     invoker's id), and subsequently causes a dynamically-linked program 

     to be exec'd.  A similar vulnerability exists for set-group-id programs.

     In particular, SunOS /usr/lib/sendmail, /usr/bin/login,

     /usr/bin/su, and /usr/5bin/su are vulnerable to this problem.

II.  Impact

     Local users can gain unauthorized privileged access to the system.

III. Solution


     A.  Obtain and install the patches from Sun or from ftp.uu.net following 

         the provided instructions.

     B.  The following workaround can be used to protect vulnerable binaries

         for which patches are unavailable for your SunOS version,

         or for local or third party software which may be vulnerable. 

         The example given is a workaround for /usr/lib/sendmail.  

         1.  As root, rename the existing version of /usr/lib/sendmail

             and modify the permissions to prevent misuse.

             # mv /usr/lib/sendmail /usr/lib/sendmail.dist

             # chmod 755 /usr/lib/sendmail.dist

         2.  In an empty temporary directory, create a file wrapper.c

             containing the following C program source (remember to

             strip any leading white-space characters from the #define lines).

             /* Start of C program source */

             /* Change the next line to reflect the full pathname

                of the file to be protected by the wrapper code   */

             #define COMMAND "/usr/lib/sendmail.dist"

             #define VAR_NAME "LD_"


             int argc;

             char **argv;

             char **envp;


                     register char  **cpp;

                     register char  **xpp;

                     register char   *cp;

                     for (cpp = envp; cp = *cpp;) {

                             if (strncmp(cp, VAR_NAME, strlen(VAR_NAME))==0) {

                                     for (xpp = cpp; xpp[0] = xpp[1]; xpp++);

                                     /* void */ ;


                             else {




                     execv(COMMAND, argv);




             /* End of C program source */

         3.  As root, compile the C program source for the wrapper and

             install the resulting binary.

             # make wrapper

             # mv ./wrapper /usr/lib/sendmail

             # chown root /usr/lib/sendmail

             # chmod 4711 /usr/lib/sendmail

         4.  Steps 1 through 3 should be repeated for other vulnerable

             programs with the appropriate substitution of pathnames and file

             names. The "COMMAND" C preprocessor variable within the C program

             source should also be changed to reflect the appropriate renamed

             system binary.

- ---------------------------------------------------------------------------

The CERT/CC wishes to thank the following for their assistance: CIAC,

PCERT, and in particular Wietse Venema of Eindhoven University, The

Netherlands, for his support in the analysis of and a workaround for

this problem.  We also wish to thank Sun Microsystems Computer

Corporation for their prompt response to this vulnerability.

- ---------------------------------------------------------------------------

If you believe that your system has been compromised, contact CERT/CC or

your representative in FIRST (Forum of Incident Response and Security Teams).

Internet E-mail: cert@cert.org

Telephone: 412-268-7090 (24-hour hotline)

           CERT/CC personnel answer 7:30 a.m.-6:00 p.m. EST(GMT-5)/EDT(GMT-4),

           on call for emergencies during other hours.

Computer Emergency Response Team/Coordination Center (CERT/CC)

Software Engineering Institute

Carnegie Mellon University

Pittsburgh, PA 15213-3890

Past advisories, information about FIRST representatives, and other

information related to computer security are available for anonymous ftp

from cert.org (

- ------------------------------------------------------------------------------

Copyright 1992 Carnegie Mellon University. Conditions for use, disclaimers,

and sponsorship information can be found in

http://www.cert.org/legal_stuff.html and http://ftp.cert.org/pub/legal_stuff .

If you do not have FTP or web access, send mail to cert@cert.org with

"copyright" in the subject line.

CERT is registered in the U.S. Patent and Trademark Office.


Revision History:

September 19,1997  Attached Copyright Statement


Version: PGP for Personal Privacy 5.0

Charset: noconv





(C) 1999-2000 All rights reserved.