Description
unarr through 1.1.1 contains a heap-based out-of-bounds read in zip_parse_extra_fields() in zip/parse-zip.c due to an incorrect ZIP64 extra field length check. Attackers can supply a crafted ZIP archive with 0xFFFFFFFF sentinel values and a truncated ZIP64 record to read past the heap buffer and crash the process.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| selmf | unarr | ≤ 1.1.1 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 12 | unarr | No fix yet | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 24.04 LTS | unarr | No fix yet | — |
| Ubuntu 22.04 LTS | unarr | No fix yet | — |
| Ubuntu 20.04 LTS | unarr | No fix yet | — |
References
- GitHub Security Advisory (GHSA-qm4g-jf39-jwjj) vendor-advisory
- Release Notes release-notes patch
- https://hackmd.io/@haind-pwn/unarr-tar-zip-oob technical-description exploit
- VulnCheck Advisory: unarr through 1.1.1 Heap Out-of-Bounds Read via zip_parse_extra_fields third-party-advisory