jif
f6950546e5
Protect macOS Seatbelt writable root anchors ( #39599 )
...
## Why
A sandboxed process could replace a writable directory root, changing the
authority boundary used to construct a later sandbox policy.
## What changed
- Deny unlinking or renaming directory roots granted write access by Seatbelt,
while preserving replacement and deletion behavior for writable files.
- Reject writable roots with nested symlink components and report these as
Seatbelt preparation errors instead of network proxy failures.
- Normalize writable roots before adding them to the generated Seatbelt policy.
## Testing
Add coverage for symlink rejection, error classification, directory-root
replacement and rename protection, newly created roots, and writable file
replacement.
GitOrigin-RevId: ab1ed4e55f20034bc43e028e6529d3d1f0d8181c
2026-08-20 05:36:23 +00:00
..
2026-07-29 13:53:15 +00:00
2026-07-23 19:19:35 +00:00
2026-07-21 22:44:43 +00:00
2026-08-19 15:55:38 +00:00
2026-07-29 13:53:15 +00:00
2026-08-20 05:29:12 +00:00
2026-08-18 23:05:52 +00:00
2026-07-21 08:50:21 +00:00
2026-08-18 23:47:00 +00:00
2026-07-30 19:47:30 +00:00
2026-08-17 04:01:37 +00:00
2026-08-16 06:48:59 +00:00
2026-08-10 18:44:58 +00:00
2026-08-10 01:39:55 +00:00
2026-08-18 23:47:00 +00:00
2026-08-11 03:39:02 +00:00
2026-08-14 05:03:39 +00:00
2026-08-17 22:37:14 +00:00
2026-08-20 05:24:56 +00:00
2026-08-18 23:47:00 +00:00
2026-08-13 19:35:22 +00:00
2026-07-21 08:28:51 +00:00
2026-08-14 20:42:35 +00:00
2026-08-15 21:26:28 +00:00
2026-08-14 22:40:19 +00:00
2026-08-19 15:37:26 +00:00
2026-08-18 18:41:40 +00:00
2026-08-18 23:47:00 +00:00
2026-08-13 23:13:37 +00:00
2026-08-20 05:21:09 +00:00
2026-08-04 22:58:02 +00:00
2026-08-20 05:24:56 +00:00
2026-08-07 00:23:38 +00:00
2026-08-03 11:39:51 +00:00
2026-08-20 05:29:12 +00:00
2026-08-19 01:26:16 +00:00
2026-08-20 05:24:56 +00:00
2026-08-07 11:30:17 +00:00
2026-08-13 00:00:16 +00:00
2026-08-18 23:05:52 +00:00
2026-08-18 21:30:45 +00:00
2026-08-17 21:49:30 +00:00
2026-08-17 04:37:50 +00:00
2026-08-19 11:59:23 +00:00
2026-08-19 01:06:12 +00:00
2026-08-19 09:01:23 +00:00
2026-08-18 21:46:18 +00:00
2026-07-31 21:37:56 +00:00
2026-08-17 21:49:30 +00:00
2026-08-10 15:50:53 +00:00
2026-08-18 12:37:41 +00:00
2026-08-18 23:23:23 +00:00
2026-08-17 00:09:44 +00:00
2026-08-10 22:12:14 +00:00
2026-08-20 05:03:49 +00:00
2026-07-22 04:17:34 +00:00
2026-08-19 00:28:52 +00:00
2026-08-17 10:01:59 +00:00
2026-08-20 05:29:12 +00:00
2026-08-19 04:46:58 +00:00
2026-08-19 04:46:58 +00:00
2026-08-17 23:08:26 +00:00
2026-08-18 21:30:45 +00:00
2026-07-30 04:26:36 +00:00
2026-08-17 19:06:53 +00:00
2026-08-10 14:25:13 +00:00
2026-08-17 21:49:30 +00:00
2026-08-19 01:26:16 +00:00
2026-08-15 01:34:33 +00:00
2026-08-19 00:05:23 +00:00
2026-08-18 23:05:52 +00:00
2026-08-06 03:11:42 +00:00
2026-08-20 05:36:23 +00:00
2026-08-10 15:43:10 +00:00
2026-08-20 05:07:17 +00:00
2026-08-08 16:58:26 +00:00
2026-08-18 03:31:06 +00:00
2026-08-20 05:16:59 +00:00
2026-08-04 03:49:53 +00:00
2026-08-18 00:45:00 +00:00
2026-08-19 16:20:21 +00:00
2026-08-14 05:49:33 +00:00
2026-08-19 04:46:58 +00:00
2026-08-20 05:10:57 +00:00
2026-07-22 16:18:08 +00:00
2026-07-24 00:16:42 +00:00
2026-08-18 21:56:54 +00:00
2026-08-15 14:31:04 +00:00
2026-08-19 12:56:08 +00:00
2026-08-19 11:59:23 +00:00
2026-07-28 20:49:22 +00:00
2026-07-29 13:53:15 +00:00
2026-08-18 22:00:25 +00:00