bill@pslu1.psl.wisc.edu (Bill Roth) (03/12/91)
I'm having trouble installing UUCP on a decstation 3100. If I install a new host in L.sys, and create the appropriate directories, kill sendmail freeze the configuration file, and restart sendmail, when I mail to the new host, it does not find it. The mailer returns a message that says: host "newhost" not connected to pslu1 by uucp. Where does sendmail pick up the UUCP hosts, and how? -- ------------------------------------------------------------------------ Bill Roth, University of Wisconsin Physical Sciences Laboratory email: bill@pslu1.psl.wisc.edu bill@wiscpsl.bitnet / (608)-873-6651
rickert@mp.cs.niu.edu (Neil Rickert) (03/12/91)
In article <1991Mar12.011642.17723@pslu1.psl.wisc.edu> bill@pslu1.psl.wisc.edu (Bill Roth) writes: >I'm having trouble installing UUCP on a decstation 3100. If I install >a new host in L.sys, and create the appropriate directories, kill sendmail >freeze the configuration file, and restart sendmail, when I mail >to the new host, it does not find it. The mailer returns a message that >says: host "newhost" not connected to pslu1 by uucp. > >Where does sendmail pick up the UUCP hosts, and how? This depends on the design of 'sendmail.cf'. A popular method is to define a class, say $=U, which matches all connected UUCP hosts. Look for a line: CUuuhost1 uuhost2 ... or perhaps CU uuhost1 CU uuhost2 ... or perhaps FU/pathname/of/file_containing UUCP hosts In the above, 'U' could be just about any letter of the alphabet. grep '^[FC]' sendmail.cf can be very helpful in guessing which letter is used. (A particulary undesirable approach uses FU/usr/lib/uucp/L.sys which has the wonderful effect of putting all passwords in L.sys into the freeze file, and into an core dumps from sendmail). -- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Neil W. Rickert, Computer Science <rickert@cs.niu.edu> Northern Illinois Univ. DeKalb, IL 60115 +1-815-753-6940
jch@hollie.rdg.dec.com (John Haxby) (03/12/91)
In article <1991Mar12.011642.17723@pslu1.psl.wisc.edu>, bill@pslu1.psl.wisc.edu (Bill Roth) writes: |> I'm having trouble installing UUCP on a decstation 3100. If I install |> a new host in L.sys, and create the appropriate directories, kill sendmail |> freeze the configuration file, and restart sendmail, when I mail |> to the new host, it does not find it. The mailer returns a message that |> says: host "newhost" not connected to pslu1 by uucp. |> |> Where does sendmail pick up the UUCP hosts, and how? Look for the line that contains "L.sys" in the sendmail configuration file, make sure that it is not commented out :-) and check that the scanf(3s) format string on that line will indeed pick out the UUCP hostnames from L.sys. -- John Haxby, Definitively Wrong. Digital <jch@wessex.rdg.dec.com> Reading, England <...!ukc!wessex!jch>
jch@hollie.rdg.dec.com (John Haxby) (03/12/91)
In article <1991Mar12.035457.18829@mp.cs.niu.edu>, rickert@mp.cs.niu.edu (Neil Rickert) writes: |> (A particulary undesirable approach uses |> FU/usr/lib/uucp/L.sys |> which has the wonderful effect of putting all passwords in L.sys into |> the freeze file, and into an core dumps from sendmail). Except that sendmail makes sure the freeze file is mode 600 ... we like to fix security holes. -- John Haxby, Definitively Wrong. Digital <jch@wessex.rdg.dec.com> Reading, England <...!ukc!wessex!jch>
rickert@mp.cs.niu.edu (Neil Rickert) (03/12/91)
In article <1991Mar12.102259.1777@hollie.rdg.dec.com> jch@hollie.rdg.dec.com (John Haxby) writes: > >In article <1991Mar12.035457.18829@mp.cs.niu.edu>, rickert@mp.cs.niu.edu (Neil Rickert) writes: >|> (A particulary undesirable approach uses >|> FU/usr/lib/uucp/L.sys >|> which has the wonderful effect of putting all passwords in L.sys into >|> the freeze file, and into an core dumps from sendmail). > >Except that sendmail makes sure the freeze file >is mode 600 ... we like to fix security holes. Mode 600 prevents someone running 'strings' on the freeze file. But it is pretty easy to coax 'sendmail' in to generating a core dump owned by the person who invokes 'sendmail', and all the same information should be there. This risk is also present if you don't use a freeze file. A much safer approach is to run 'uuname' into a file, and use that file in an F line in 'sendmail.cf'. The whole thing can be run from a makefile which redoes the 'uuname' if L.sys changes, then rebuilds the freeze file if the file containing 'uuname' output changes. (With a little care in preparing a suitable shell script, you can have the 'make' also kill and restart the sendmail daemon when the freeze file changes.) -- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Neil W. Rickert, Computer Science <rickert@cs.niu.edu> Northern Illinois Univ. DeKalb, IL 60115 +1-815-753-6940
jch@hollie.rdg.dec.com (John Haxby) (03/12/91)
In article <1991Mar12.130319.14972@mp.cs.niu.edu>, rickert@mp.cs.niu.edu (Neil Rickert) writes: |> Mode 600 prevents someone running 'strings' on the freeze file. But it is |> pretty easy to coax 'sendmail' in to generating a core dump owned by the person |> who invokes 'sendmail', and all the same information should be there. This |> risk is also present if you don't use a freeze file. How? sendmail catches the quit signal and you can't send it your favourite core-dumping signal unless you are root. Unless you have a dead-cert bug that makes sendmail drop core every time .... -- John Haxby, Definitively Wrong. Digital <jch@wessex.rdg.dec.com> Reading, England <...!ukc!wessex!jch>
rickert@mp.cs.niu.edu (Neil Rickert) (03/13/91)
In article <1991Mar12.143810.7383@hollie.rdg.dec.com> jch@hollie.rdg.dec.com (John Haxby) writes: > >In article <1991Mar12.130319.14972@mp.cs.niu.edu>, rickert@mp.cs.niu.edu (Neil Rickert) writes: >|> Mode 600 prevents someone running 'strings' on the freeze file. But it is >|> pretty easy to coax 'sendmail' in to generating a core dump owned by the person >|> who invokes 'sendmail', and all the same information should be there. This >|> risk is also present if you don't use a freeze file. > >How? sendmail catches the quit signal and you can't send it >your favourite core-dumping signal unless you are root. >Unless you have a dead-cert bug that makes sendmail >drop core every time .... [I have added comp.mail.sendmail to the newsgroups, because of the importance of this issue. :nwr] Must I spell out the details of a security problem you may have inflicted on your users? That would only open up the problem further for everyone to see and perhaps take advantage of. For the time being, I will not spell it out. The bug is not in 'sendmail', but in any use in 'sendmail.cf' of an 'F' line which requires sendmail to read a file such as L.sys which contains confidential information. DON'T DO IT. Making the freeze file mode 600, or running without a freeze file is at best a partial solution. It prevents the direct attack of 'strings sendmail.fc'. But someone familiar with the workings of sendmail CAN coerce it into taking a publicly readable core dump which is likely to contain a copy of the confidential information. And it does not require root privileges to do this. -- =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= Neil W. Rickert, Computer Science <rickert@cs.niu.edu> Northern Illinois Univ. DeKalb, IL 60115 +1-815-753-6940
greywolf@unisoft.UUCP (The Grey Wolf) (03/27/91)
/* <1991Mar12.171523.30268@mp.cs.niu.edu> by rickert@mp.cs.niu.edu (Neil Rickert) * * [I have added comp.mail.sendmail to the newsgroups, because of the importance * of this issue. :nwr] * * For the time being, I will not spell it out. The bug is not in 'sendmail', * but in any use in 'sendmail.cf' of an 'F' line which requires sendmail to * read a file such as L.sys which contains confidential information. * DON'T DO IT. Smart move. * * Making the freeze file mode 600, or running without a freeze file is at * best a partial solution. I will now close my eyes so the room will be empty. * * It prevents the direct attack of 'strings sendmail.fc'. But someone * familiar with the workings of sendmail CAN coerce it into taking a publicly * readable core dump which is likely to contain a copy of the confidential * information. And it does not require root privileges to do this. * Um, pardon, but it *does* require root permission to generate a core dump from a setuid-root executable%. Never mind that making /usr/lib/uucp/L.sys part of the configuration via an F line is not a smart move. This hole must be *really* obscure. {flaming? send me mail.} * * -- * =*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*= * Neil W. Rickert, Computer Science <rickert@cs.niu.edu> * Northern Illinois Univ. * DeKalb, IL 60115 +1-815-753-6940 % Under any *reasonable* kernel, this is true: A core can only be generated if the invoking uid and the real uid are identical, and even then only if the executable has read permission. This goes out the window if you're the super-user.