diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2026-09-28 16:47:56 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2026-09-29 15:56:01 +0000 |
| commit | 6c9ee5f02548c1c742c38c69e7f2164eee128320 (patch) | |
| tree | 220451cb5bcd052d7f32fd950270325ccbf8e3af /lib/libsqlite3 | |
| parent | 46c9357418134ebcdb025dbcfdedff8adebb679a (diff) | |
vfs: Disallow renameat() with FD_RESOLVE_BENEATH descriptors
The FD_RESOLVE_BENEATH flag was intended to try to resolve bugzilla PR
262179 without entirely disallowing fd passing between jails. However,
one can use renameat() to bypass the restriction: upon receiving a
directory fd with FD_RESOLVE_BENEATH set, a jailed process can still
move its CWD or one of its ancestors to the directory, and just cd
out of its jail root.
So disallow renameat() when either the source or destination directory
fds has FD_RESOLVE_BENEATH set, like we do with fchdir() and fchroot()
to prevent similar escapes.
Approved by: so
Security: FreeBSD-SA-26:66.jail
Security: CVE-2026-101305
PR: 262179
Reported by: firk@cantconnect.ru
Reviewed by: olce, kib
Differential Revision: https://reviews.freebsd.org/D59875
Diffstat (limited to 'lib/libsqlite3')
0 files changed, 0 insertions, 0 deletions
