Fwd: Getting path in inode_permission

Valdis.Kletnieks at vt.edu Valdis.Kletnieks at vt.edu
Fri Feb 6 22:22:00 EST 2015


On Sat, 07 Feb 2015 07:27:13 +0530, noyb noybee said:

> I am trying to enhance the security features of the chroot "jail"(I
> know it wasn't built for the purpose). I am trying to prevent access
> to files outside the "jail" unless they specify a specific

The right thing to do is design the jail so it *never* references files
outside.

> passsphrase. Whenever an inode is accessed, inode_persmission is
> called. I get the pid of the calling process by current->pid in the
> hook and check if it is a child of the original process for which

Bzzt!  Wrong.  Trivially beatable - all I have to do is double-fork,
exit the child process, the grandchild gets reparented to PID 1,
and your check fails.

> chroot was run. If yes + if this process hasn't specified a passphrase
> + the path of the inode shows that it is outside the "jail", the
> request is blocked. I am also blocking all mounts in the "jail".

Plus the whole passphrase thing is probably equally easy to defeat.  (Hint -
how does the passphrase get passed to the kernel in the first place?)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 848 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150206/fb2a0caa/attachment.bin 


More information about the Kernelnewbies mailing list