Skip to content

v3.38.9 β€” path-validator symlinked-prefix fix

Latest

Choose a tag to compare

@ruvnet ruvnet released this 13 Aug 12:41
· 1 commit to main since this release

Fixes

#3010 β€” PathValidator rejected everything under a symlinked prefix, breaking ruflo proxy install on macOS. validate() canonicalized the candidate path through fs.realpath but the constructor only ever path.resolve()d the allowed prefixes β€” so on macOS, where os.tmpdir() is reached through a symlink (/var β†’ /private/var), the realpath'd candidate could never match the non-realpath'd prefix, and every path under it β€” including the prefix's own contents β€” was rejected as "outside allowed directories." Download and Ed25519 signature verification both succeeded during proxy install; it then failed on this defense-in-depth path check. Fixed by realpath-ing prefixes at construction time too, with the same ENOENT-tolerant fallback validate() already uses for candidates.

Links