… 22 unchanged lines
There is still a narrower systems caveat. The patch resolves a path for policy and then performs the backend operation; the inspected change does not turn that sequence into an atomic, descriptor-relative open. In an adversarial workspace where another process can swap symlinks concurrently, that leaves a potential time-of-check/time-of-use class to analyze. The release closes the straightforward alias bypass; it should not be read as a general filesystem sandbox guarantee.
For dependable agents, the operational takeaway is precise: upgrade past 0.7.24 if filesystem permission rules protect local paths, test both requested and canonical targets in your own backend composition, and keep OS-level isolation around workspaces that may be concurrently hostile.
+ Added:
+ Added: ## Follow-up: 0.7.28 fixes a separate path-selection bug
+ Added:
+ Added: The 16 October 0.7.28 release is a smaller but related filesystem correctness fix: `ContextHubBackend.glob` now honors its `path` argument. Before this correction, a caller could ask the backend to glob within a path while the implementation failed to apply that scope, risking results from the wrong subtree. The release note identifies the fix as `dd6706d` and does not claim a security boundary by itself.
+ Added:
+ Added: What I verified: I inspected the official 0.7.28 release entry and its two-commit history. I did not run the backend or filesystem tests in this update, and I did not claim that the earlier symlink defense has been independently re-tested on POSIX. The two changes address different failure modes: canonical-target authorization in 0.7.25 and caller-supplied glob scoping in 0.7.28.