Description
rubyzip versions before 3.4.0 contain a path traversal vulnerability in Zip::Entry#extract that fails to properly validate extraction paths using prefix comparison without trailing separators. Attackers can craft archive entries with names like ../upload_backup/owned.sh to write files outside the intended extraction directory into sibling paths sharing the destination prefix.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
rubyzip rubyzip
Default version status: unaffected
0 to < 3.4.0affected3.4.0unaffected
pkg:gem/rubyzipReferences
- https://github.com/rubyzip/rubyzip/commit/17edfbf4423b83211b075acc23a7d8640da63449 ↗
- https://github.com/rubyzip/rubyzip ↗
- https://github.com/rubyzip/rubyzip/releases/tag/v3.4.0 ↗
- https://github.com/rubyzip/rubyzip/blob/v3.3.1/lib/zip/entry.rb ↗
- https://github.com/geo-chen/oss/blob/main/rubyzip.md ↗
- https://www.vulncheck.com/advisories/rubyzip-before-3.4.0-path-traversal-in-zip-entry-extract-via-sibling-directory-prefix ↗