From: bbense+comp.lang.ruby.Sep.11.02@... Date: 2002-09-12T08:38:48+09:00 Subject: Re: RubyInline 1.0.4 Released! (fwd) -----BEGIN PGP SIGNED MESSAGE----- In article <6A6228E0-C5AC-11D6-8015-0003939161E2@zenspider.com>, Ryan Davis wrote: > >On Wednesday, Sep 11, 2002, at 06:56 US/Pacific, > wrote: > > >Cool! Thank you. I hadn't even thought this far out. > >> - - This is probably not enough, but I know anything less has >> security problems. It would also be wise to check the >> entire path down to the .ruby_inline directory. For the >> most security you want NONE of the path components to >> be world writable or group writeable. > >You mean I should bug out if $HOME is world or group writable and I'm >planning on creating $HOME/.ruby_inline? I agree w/ world, but I'm not >totally sold on group. Can you point me to something to help back that >up? > - - Well, sendmail has fits about it, but that's a setuid program. If the directory is writeable by group, it's possible for somebody in the group to fake things up. To be honest I don't quite understand the specific mechanisms by which a group writeable directory anywhere in the tree can be abused, but all the really paranoid software I know of takes this precaution. (i.e. every dir in the tree must be 755 ). - - Here's my understanding of how the race condition works in the case of a group writeable dir in which you want to create a private subdir. You do mkdir .ruby_inline I do rmdir .ruby_inlne ; mkdir .ruby_inline You do file open .ruby_inline/file.so You write/flush .ruby_inline/file.so I rm file.so and write my file.so You read/exec file.so I win... - - Since there is always some time between the mkdir and file open calls, there is always some chance that I can win the race. Generally, you do these kinds of races with setuid programs so you can run the race as many times as it takes to win. In the case of Ruby inline, it's more difficult to know when to run the race, but it's not impossible. I would certainly print a warning in the case of a group writeable home dir. - - Booker C. Bense -----BEGIN PGP SIGNATURE----- Version: 2.6.2 iQCVAwUBPX/REWTWTAjn5N/lAQHRegP/RO3zY90N3wM19wOkYFP8rn/4Z2NSQtn2 nhGAQ1o+aFGP4KojJDanj7n2nInDuZeMPoJ+8XeCBNjgrmotDF3EXMphiGhlSsNy L6KLxEZnOyvjmICvklCyaa/6ii9uY4BGkAMBBGxjBrYNopd2uXsmbVXlKbPQF0EU ZFnOi0FgXnM= =Zua1 -----END PGP SIGNATURE-----