few last minute things for grsecurity 1.9.4
Posted: Wed Dec 31, 1969 8:00 pm
We need to look over the capability code again, just to make sure inheritance is working correctly, etc..
Another thing, I had to remove the code that sets cap_bset for all the running processes, for the obvious reasons that once you set the caps lower than they were initially with cap_intersect() it's unpossible to undo that. It's not really important that we set the capabilities for all processes anyway...the cap changes should only affect things started after the acl system is loaded.
Another thing...the mmap protections won't allow files with interpreters to run, due to the built-in acl of /blahblahfile x, since the file needs read access as well...I don't know of a quick solution to fix this..we'll have to discuss it today.
i fixed the init code, and made the capability inheritance stuff set the capability for that process causing the inheritance as well...you'll understand if you look at the code. Otherwise the initial process wouldn't have the capabilities it needed to run, but any process it executed would be able to. I also fixed cap_conv() to handle the capability inheritance, and spaces after the cap name.
Another thing, I had to remove the code that sets cap_bset for all the running processes, for the obvious reasons that once you set the caps lower than they were initially with cap_intersect() it's unpossible to undo that. It's not really important that we set the capabilities for all processes anyway...the cap changes should only affect things started after the acl system is loaded.
Another thing...the mmap protections won't allow files with interpreters to run, due to the built-in acl of /blahblahfile x, since the file needs read access as well...I don't know of a quick solution to fix this..we'll have to discuss it today.
i fixed the init code, and made the capability inheritance stuff set the capability for that process causing the inheritance as well...you'll understand if you look at the code. Otherwise the initial process wouldn't have the capabilities it needed to run, but any process it executed would be able to. I also fixed cap_conv() to handle the capability inheritance, and spaces after the cap name.