CVE-2018-1002203 json
Arbitrary File Write via Archive Extraction in unzipper
published 2018-07-25 8 y ago modified 2026-06-17 4 mo 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
- npm unzipper 0.8.13
- node.js unzipper 0.8.13
- github.com/ZJONSSON/node-unzipper@2220ddd commit
- github.com/ZJONSSON/node-unzipper#59 pull request
- snyk.io/research/zip-slip-vulnerability advisory
- snyk.io/vuln/npm:unzipper:20180415 advisory
Exploit prediction
10.55% chance of exploitation in the next 30 days, higher than 95% of all scored CVEs (FIRST EPSS, 2026-11-08).
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
-
github.com
/ZJONSSON/node-unzipper/commit/2220ddd5b58f6252069a4f99f9475441ad0b50cd
web, issue-tracking, patch, third-party-advisory
-
github.com
/ZJONSSON/node-unzipper/pull/59
web, exploit, issue-tracking, patch, third-party-advisory
-
snyk.io
/research/zip-slip-vulnerability
web, exploit, issue-tracking, patch, third-party-advisory
-
snyk.io
/vuln/npm:unzipper:20180415
web, exploit, issue-tracking, patch, third-party-advisory
-
github.com
/snyk/zip-slip-vulnerability
web, exploit, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2018-1002203
advisory
-
hackerone.com
/reports/362119
web
-
github.com
/advisories/GHSA-884w-698f-927f
advisory
-
npmjs.com
/advisories/680
web
Sources
- CVE List CVE-2018-1002203
- GitHub Advisory GHSA-884w-698f-927f
- NVD CVE-2018-1002203
Fencer Vulns 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.