Re: As 2.0 looms

Alan Cox (alan@lxorguk.ukuu.org.uk)
Wed, 24 Apr 1996 21:50:11 +0100 (BST)


> ftp://ftp.ists.pwr.wroc.pl/pub/msdos/telnet/ncsa_upe/tel23074.zip
> (source is in v230704s.zip). I have tested it with 1.3.79 (with
> path mtu discovery enabled - ncsa 2.3.08 didn't work) and it seems
> to work. I don't know if anyone is working on this code - this
> version is over a year old. Too bad - it's faster and often more
> stable than these windoze telnets, and runs on almost anything...

Thanks for that. I'll put it in the Documentation directory as
a note about buggy NCSA stuff.

> Now back to things to fix before 2.0:
>
> - /proc is still insecure :-(. You can open /proc/<pid>/mem and
> hold the file descriptor, then have the target process exec some
> setuid/setgid/unreadable program and read its memory at will.
> Not good for things like ssh - the secret host key is there...

Arghhh... Linus ????. We definitely need to break the association for
setuid/setgid apps. It wouldnt actually be hard to do.

> - somewhat related: it shouldn't be possible to ptrace unreadable
> programs (just like set[ug]id), they may be unreadable for a reason
> like encryption key compiled in, etc. Also, ld.so needs some way
> to know the program is unreadable so it won't accept LD_xxx (this
> may need kernel support, syscall to read the dumpable flag maybe?)

There are millions of these, core dumping etc. Its basically I think a
unix feature. At least we dont have compiled in passwords like GCOS3
had.

> - do we still have the verify_area/memcpy race? (I guess yes, but
> I hope I am wrong... what if the area is unmapped while the process
> sleeps between verify_area and memcpy?)

You can get a non fatal Oops: out of that yes. The ftruncate disk corrupt
bug is gone.

> - bad_user_access_length should be available to modules for old gcc
> users, in ksyms.c or perhaps as inline function conditional on the
> version of gcc? (otherwise at least ncpfs won't load)

Use gcc 2.7.x - 2.5.8 miscompiles stuff in the current kernel.

Alan