From fa1163bbb4417b899aab8cc68bbe74bcbe85aa01 Mon Sep 17 00:00:00 2001 From: Chaitanya Mishra Date: Tue, 13 Jan 2026 16:39:43 +0530 Subject: [PATCH] fix(unzip): harden zip-slip path check --- src/test/fixtures/zip-files/index.ts | 1 + .../zip-slip-prefix/archive.zip | Bin 0 -> 219 bytes src/unzip.ts | 16 +++++----------- 3 files changed, 6 insertions(+), 11 deletions(-) create mode 100644 src/test/fixtures/zip-files/node-unzipper-testData/zip-slip-prefix/archive.zip diff --git a/src/test/fixtures/zip-files/index.ts b/src/test/fixtures/zip-files/index.ts index c67c361d708..8997ebd3d57 100644 --- a/src/test/fixtures/zip-files/index.ts +++ b/src/test/fixtures/zip-files/index.ts @@ -10,6 +10,7 @@ export const ZIP_CASES = [ { name: "compressed-standard" }, { name: "uncompressed" }, { name: "zip-slip", wantErr: "a path outside of" }, + { name: "zip-slip-prefix", wantErr: "a path outside of" }, { name: "zip64" }, ].map(({ name, wantErr }) => ({ name, diff --git a/src/test/fixtures/zip-files/node-unzipper-testData/zip-slip-prefix/archive.zip b/src/test/fixtures/zip-files/node-unzipper-testData/zip-slip-prefix/archive.zip new file mode 100644 index 0000000000000000000000000000000000000000..3d658a129a5fbf534defe88fec7c527144c2ed72 GIT binary patch literal 219 zcmWIWW@h1H0D;Cv-I%Jg_S;#3Y!FspkYUi%)33@b&@IjZ5(P!6X_*zesb!ft`XEBD zq@pA=gp+}}N--@Hgi9;985mi => {