GitHub Advisoryadvisory · RubyGems
GHSA-47m2-wp7j-p9vc rubyzip path traversal vulnerability
HIGH
Official page ↗
- Aliases
- CVE-2026-85396
- Ecosystem
- RubyGems
- Packages
- rubyzip
- Severity
- High
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- Weaknesses
- CWE-22
- Reviewed
- 2026-09-25
Affected packages
• RubyGems rubyzip: < 3.4.0 → fixed in 3.4.0
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.
Related
Alias · CVE (1)
- CVE-2026-85396 rubyzip versions before 3.4.0 contain a path traversal vulnerability in Zip::Entry#extract that fails to properly validate extraction paths… vulnerability
Weakness · CWE (1)
- CWE-22 Improper Limitation of a Pathname to a Restricted Directory weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-85396 advisory
- https://github.com/rubyzip/rubyzip/commit/17edfbf4423b83211b075acc23a7d8640da63449 web
- https://github.com/geo-chen/oss/blob/main/rubyzip.md web
- https://github.com/rubysec/ruby-advisory-db/blob/master/gems/rubyzip/CVE-2026-85396.yml web
- https://github.com/rubyzip/rubyzip package
- https://github.com/rubyzip/rubyzip/blob/v3.3.1/lib/zip/entry.rb web
- https://github.com/rubyzip/rubyzip/releases/tag/v3.4.0 web
- https://www.vulncheck.com/advisories/rubyzip-before-3.4.0-path-traversal-in-zip-entry-extract-via-sibling-directory-prefix web