GHSA-h74j-692g-48mq
Path Traversal in MHolt Archiver
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/mholt/archiver | >= 3.0.0, < 3.3.2 | 3.3.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
All versions of archiver allow attacker to perform a Zip Slip attack via the "unarchive" functions. It is exploited using a specially crafted zip archive, that holds path traversal filenames. When exploited, a filename in a malicious archive is concatenated to the target extraction directory, which results in the final path ending up outside of the target folder. For instance, a zip may hold a file with a "../../file.exe" location and thus break out of the target folder. If an executable or a configuration file is overwritten with a file containing malicious code, the problem can turn into an arbitrary code execution issue quite easily.
### Specific Go Packages Affected
github.com/mholt/archiver/cmd/arc
References
External links from the advisory. They lead to third-party sites.
- https://nvd.nist.gov/vuln/detail/CVE-2019-10743
- https://github.com/mholt/archiver/pull/169
- https://github.com/mholt/archiver/pull/203
- https://github.com/mholt/archiver/commit/8217ed3a206c0473b4ec1aff51375b398838073a
- https://github.com/snyk/zip-slip-vulnerability
- https://snyk.io/research/zip-slip-vulnerability
- https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMMHOLTARCHIVERCMDARC-174728