Skip to content

fix(windows): normalize file-root ACL inheritance - #54

Merged
m62624 merged 10 commits into
mainfrom
fix/windows-file-root-acl
Sep 23, 2026
Merged

m62624 merged 10 commits into
mainfrom
fix/windows-file-root-acl

Conversation

@m62624

@m62624 m62624 commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner

Granting read access to an existing individual file could fail before Windows sandbox launch with FilesystemEnforcement::AceMismatch. Explicit file roots retained directory inheritance flags, which Windows removes from file ACEs.

ACL preparation now determines file/directory kind through the same validated, non-reparse handle used for descriptor inspection and mutation. File ACEs have exact scope; directory ACEs retain inheritance. Explicit roots and enumerated descendants share this normalization. Exact descriptor verification, access masks, journaling, and restoration remain enforced. A file grant does not modify its parent or siblings.

The native regression verifies repeated direct reads, filenames with spaces, file metadata, denied writes, denied sibling reads and directory listing, and exact DACL restoration on uninstall. It also runs the identical cmd.exe /c type <path> command under two policies: a file-only grant denies the command's directory lookup, while an explicit containing-directory read grant permits it. Direct file reading succeeds without that broader grant.

Validation on d815ded: CI run 35821613254 passed. All 14 Windows backend integration tests passed in each of the three feature modes. Common checks and Java/Python binding jobs passed on Linux, macOS, and Windows; both Linux packaged-consumer QEMU jobs and all six CLI cross-builds passed. Standalone Linux/macOS native backend jobs were not selected for this Windows-only change.

The final source change is confined to Windows file-kind detection and ACL normalization, with native regression coverage and the Windows specification updated. No public API, dependency, version, release workflow, or security permission expansion is included. This is a patch-level fix.

Co-authored-by: codex <codex@openai.com>
@github-actions github-actions Bot added the fix label Sep 22, 2026
m62624 and others added 9 commits September 22, 2026 12:53
Co-authored-by: codex <codex@openai.com>
Co-authored-by: codex <codex@openai.com>
Co-authored-by: codex <codex@openai.com>
Co-authored-by: codex <codex@openai.com>
Co-authored-by: codex <codex@openai.com>
Co-authored-by: codex <codex@openai.com>
Co-authored-by: codex <codex@openai.com>
Co-authored-by: codex <codex@openai.com>
Co-authored-by: codex <codex@openai.com>
@m62624
m62624 marked this pull request as ready for review September 23, 2026 05:29
@m62624
m62624 merged commit cf6c8fb into main Sep 23, 2026
27 checks passed
@m62624
m62624 deleted the fix/windows-file-root-acl branch September 23, 2026 05:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant