Current Bun adds two production hardening guarantees covered by test/cli/install/symlink-path-traversal.test.ts:
- buffered GitHub tarball extraction opens
.bun-tagwithO_NOFOLLOWbefore truncating/writing it - package bin linking applies executable permissions without following a symlinked bin target
Home currently follows both final symlinks in the strict native child-process path, allowing an archive-provided .bun-tag chain to overwrite an outside file and allowing a workspace bin symlink to chmod an outside file.
Port the real installer behavior, preserve the unchanged Bun security fixture, and validate Debug/ReleaseSafe strict plus routed execution against pinned Bun.