Skip to content

Commit 0e7133c

Browse files
authored
Fixes arbitrary file write on fetch (#7831)
1 parent fa613f3 commit 0e7133c

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

src/fetchers/tarball-fetcher.js

+5
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,11 @@ export default class TarballFetcher extends BaseFetcher {
136136
chown: false, // don't chown. just leave as it is
137137
map: header => {
138138
header.mtime = now;
139+
if (header.linkname) {
140+
const basePath = path.posix.dirname(path.join('/', header.name));
141+
const jailPath = path.posix.join(basePath, header.linkname);
142+
header.linkname = path.posix.relative('/', jailPath);
143+
}
139144
return header;
140145
},
141146
fs: patchedFs,

0 commit comments

Comments
 (0)