The sendmail program normally runs any program it finds in the user’s ~/.forward file. A cracker can attack any user, including root, by having permission to modify the user’s ~/.forward file. Consider the following modifications, for example:
\user |"/usr/ucb/vacation user" ←OK |"/tmp/x.sh" ←an attack! |"cp /bin/sh /home/george/.x; chmod u+s /home/george/.x"←an attack!
As an aid in preventing such attacks, V8.1
sendmail first offered the
restricted shell) program. V8.7
sendmail offered the
feature (see Section 5.8.2) as an easy way to install
smrsh with your mc
The smrsh program is supplied in source form with the sendmail distribution in the smrsh directory. The README file in that directory describes how to compile and install smrsh, and tells how it can be used with all versions of sendmail. Note that the instructions we give you here refer to V8.9 and above.
To build smrsh just execute the following in the smrsh directory:
There is very little to tune inside smrsh at build time. You might wish to predefine ALLOWSEMI as a way to allow semicolons inside command-lines, but this is not recommended because it makes the job of smrsh harder and less secure. In the rare event you need to allow semicolons, however, you can add the following line to your m4 build file:
You might also want to change the directory where smrsh will look for its approved executable ...