Skip to content
Fencer Intel
medium 5.5

CVE-2018-1002203 json

Arbitrary File Write via Archive Extraction in unzipper

published 8y ago modified 4mo ago also GHSA-884w-698f-927f , EUVD-2018-0248

cvss
5.5
version 3.0, NVD
cisa kev
Not listed
not in CISA's catalog
epss
10.6%
EPSS 10.6% chance of exploitation in 30 days, percentile 95%
public exploits
0
none known

Summary

unzipper npm library before 0.8.13 is vulnerable to directory traversal, allowing attackers to write to arbitrary files via a ../ (dot dot slash) in a Zip archive entry that is mishandled during extraction. This vulnerability is also known as 'Zip-Slip'.

Patch / fix

Is CVE-2018-1002203 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

Exploit prediction

10.55% chance of exploitation in the next 30 days, higher than 95% of all scored CVEs (FIRST EPSS, 2026-11-09).

Exploits and checks

  • github.com https://github.com/ZJONSSON/node-unzipper/pull/59 referenced PoC, tagged "exploit" by a source, unverified
  • snyk.io https://snyk.io/research/zip-slip-vulnerability referenced PoC, tagged "exploit" by a source, unverified
  • snyk.io https://snyk.io/vuln/npm:unzipper:20180415 referenced PoC, tagged "exploit" by a source, unverified
  • github.com https://github.com/snyk/zip-slip-vulnerability referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
NVD 3.0 5.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N
NVD 2.0 4.3 AV:N/AC:M/Au:N/C:N/I:P/A:N
GitHub 3.0 5.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N

Affected packages

ecosystem package affected fixed in
npm unzipper
<0.8.13
0.8.13

Affected products

  • node.js unzipper

Classification

Weakness
  • CWE-22 Improper Limitation of a Pathname to a Restricted Directory

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.