Reject path-traversal archive entries and make the install swap cross-filesystem safe #2
Reference in New Issue
Block a user
Delete Branch "benvin/extract-and-swap-fixes"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
M.extractshelled totar/unzipwithout inspecting the archive, so a hostile plugin could write outside the destination. Staging also lived on a different filesystem to the install target, so the final rename returned EXDEV and every install failed..., are device/fifo/socket, or link outside the destination.<pack root>/.vimpack-stage/so the swap is a same-filesystem rename; fall back to copy+rename on EXDEV.build_headerserrors fromregistry.resolveinstead of fetching unauthenticated.dir_namethat is not a single path component.vimpack-ciservice account and installzip.