1. Copy the content of theĀ <TITLE> tag from advisories/CA-YYYY-NN.html to the page title above.
  2. Copy the entire content of the corresponding file from body/advisories/CAYYYYNN_FAYYYYNN.html into the HTML box below.
  3. (optional) Delete this page properties box prior to saving. This step is optional because it won't display on the rendered page anyway, only in edit mode.
Original issue date: December 18,1991<BR>
Last revised: September 18, 1997<BR>
Attached copyright statement		

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

<P>The Computer Emergency Response Team/Coordination Center (CERT/CC)
has received information concerning a vulnerability in the crp facility
in Hewlett Packard/Apollo Domain/OS.  This vulnerability is present on all
HP/Apollo Domain/OS SR10 systems up through SR10.3.  Patches that address
this problem will be available in the SR10.3 patch tape (~Feb 92) and in
the SR10.4 software release.  Contact your local sales office for
more information.

<H2>I. Description</H2>

There is a security problem with the /usr/apollo/bin/crp facility.
A user who is not running crp is not vulnerable to this problem.

<H2>II. Impact</H2>

A person at a remote or local site can obtain the privileges of
the user who is running crp.

<H2>III. Workaround</H2> 

The suggested workaround is to disable two system calls that are
made by /usr/apollo/bin/crp.  The following steps should be
executed by root or another appropriate userid that has the
privilege to write in the directories involved.

<H4><LI>Create a file "crplib.c" containing the four-line C program:</H4>
	extern void pad_$dm_cmd(void);
	void pad_$dm_cmd() { }
	extern void pad_$def_pfk(void);
        void pad_$def_pfk() { }

<H4><LI>	Compile this program using '-pic':</H4>

	(AEGIS)  /com/cc crplib.c -pic
        (UNIX)   /bin/cc -c crplib.c -W0,-pic

<H4><LI>Copy the result to somewhere accessible to all users (/lib/crplib  is recommended).</H4>
	(AEGIS)  /com/cpf crplib.bin /lib/crplib
        (AEGIS)  /com/edacl -p root prwx -g wheel rx -w rx /lib/crplib

	(UNIX)   /bin/cp crplib.o /lib/crplib<BR>
        (UNIX)   /bin/chmod 755 /lib/crplib

<H4><LI>  a) Ensure that all users do an 'inlib' of that file before running crp.</H4>
One way to ensure this would be to replace the /usr/apollo/bin/crp
command by a shell script that does the inlib.  Doing this step
will force crp to use the null functions defined in step 1 above.
	(AEGIS)  /com/chn /usr/apollo/bin/crp crp.orig
        (UNIX)   /bin/mv /usr/apollo/bin/crp /usr/apollo/bin/crp.orig
<H4>b) Create the file /usr/apollo/bin/crp containing the shell script:</H4>
	(AEGIS)	#!/com/sh
          /com/sh -c inlib /lib/crplib ';' /usr/apollo/bin/crp.orig ^*
	(UNIX)	#!/bin/sh
		inlib /lib/crplib
                exec /usr/apollo/bin/crp.orig "$@"
<H4>c) Make this script executable.</H4>
        (AEGIS)	/com/edacl -p root prwx -g wheel rx -w rx /usr/apollo/bin/crp
        (UNIX)	/bin/chmod 755 /usr/apollo/bin/crp

<P>NOTE: This workaround will prevent crp from making use of the two
system calls; and therefore, it may affect the functionality of various
software programs since they will be unable to define programmable
function keys, create new windows on the client node, or execute
background processes using the Display Manager interface.


<P>The CERT/CC wishes to thank Paul Szabo of the University of Sydney for
bringing this problem to our attention and providing a workaround.
We would also like to thank Jim Richardson of the University of Sydney for
his assistance and Hewlett Packard/Apollo for their timely response to the
report of this vulnerability.

<!--#include virtual="/include/footer_nocopyright.html" -->
<P>Copyright 1991 Carnegie Mellon University.</P>


Revision History
September 18,1997  Attached Copyright Statement