HomeFreeBSD

fusefs: send FUSE_OPEN for every open(2) with unique credentials

Description

fusefs: send FUSE_OPEN for every open(2) with unique credentials

By default, FUSE performs authorization in the server. That means that it's
insecure for the client to reuse FUSE file handles between different users,
groups, or processes. Linux handles this problem by creating a different
FUSE file handle for every file descriptor. FreeBSD can't, due to
differences in our VFS design.

This commit adds credential information to each fuse_filehandle. During
open(2), fusefs will now only reuse a file handle if it matches the exact
same access mode, pid, uid, and gid of the calling process.

PR: 236844
Sponsored by: The FreeBSD Foundation

Details

Provenance
asomersAuthored on
Parents
rS345780: Fix grammar nit in skip message
Branches
Unknown
Tags
Unknown