[lkml]   [2008]   [Aug]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH 5/7] FUSE: implement ioctl support
    On Fri, 29 Aug 2008, Tejun Heo wrote:
    > I'm not worried about the client accessing wrong memory regions or even
    > corrupting it. It's pointless to try to protect against that. From the
    > calling process's POV, it runs the same risk whether it calls an
    > in-kernel ioctl or a CUSE one and FUSE already has sufficient protection
    > against allowing unprivileged FS implementation to serve other users.

    Yes and no. Fuse allows this protection to be relaxed
    (-oallow_other), because it does provide quite good privilege
    separation. This ioctl thing breaks that, so we should disable ioctls
    with 'allow_other' or require the filesystem to be privileged. But
    the latter is not easy because mount(2) is always privileged, we don't
    know if the process calling fusermount was privileged or not.

    So, your current patch actually _introduces_ a security vulnerability
    with the 'allow_other' mount option.

    > What I'm worried about is the possibility of CUSE client being able to
    > break out of that privilege protection which is currently ensured by the
    > kernel.

    What do you call client? If you mean the app using the char dev, then
    I don't see how it could break out of any protection.

    > Also, what about containers? How would it work then?

    Dunno. Isn't there some transformation of pids going on, so that the
    global namespace can access pids in all containers but under a
    different alias? I do hope somethinig like this works, otherwise it's
    not only fuse that will break.


     \ /
      Last update: 2008-08-29 10:01    [W:0.020 / U:17.988 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site