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. References: https://github.com/mholt/archiver/pull/169 https://snyk.io/research/zip-slip-vulnerability https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMMHOLTARCHIVERCMDARC-174728
Upstream fix: https://github.com/mholt/archiver/pull/169/commits/d818164a438603f1ba3fa952c7d99321f924301c
Whilst the snyk report says to update the version of github.com/mholt/archiver/cmd/arc to v3.3.2 Looking at the patch: https://github.com/mholt/archiver/commit/8217ed3a206c0473b4ec1aff51375b398838073a Its the mhold/archiver/ library in general, as it looks like calling archiver.go:Unarchive can lead to the vulnerable code path. Also the patch itself doesn't apply to cmd/ but to the more general package files.
External References: https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMMHOLTARCHIVERCMDARC-174728