Vulnerability · Published Jun 5, 2024 · Assigned by Go
CVE-2024-24789Mishandling of corrupt central directory record in archive/zip
Medium 5.3
In plain English
A medium-severity security flaw in archive/zip from Go standard library. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.4% (higher than 39% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Severity (CVSS 3.1)5.3Medium
Exploit odds (30 days)0.4%top 61.3% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known
Official description
The archive/zip package's handling of certain types of invalid zip files differs from the behavior of most zip implementations. This misalignment could be exploited to create an zip file with contents that vary depending on the implementation reading the file. The archive/zip package now rejects files containing these errors.
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:8 | aardvark-dns | 2:1.10.0-1.module_el8.10.0+3792+03eaed9c | ALSA-2024:5258 |
| AlmaLinux:8 | aardvark-dns | 2:1.10.0-1.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | aardvark-dns | 2:1.10.0-1.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | buildah | 2:1.33.8-4.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | buildah-tests | 2:1.33.8-4.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | cockpit-podman | 84.1-1.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | conmon | 3:2.1.10-1.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | conmon | 3:2.1.10-1.module_el8.10.0+3845+87b84552 | ALSA-2024:5258 |
| AlmaLinux:8 | conmon | 3:2.1.10-1.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | container-selinux | 2:2.229.0-2.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | containernetworking-plugins | 1:1.4.0-5.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | containers-common | 2:1-82.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | crit | 3.18-5.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | crit | 3.18-5.module_el8.10.0+3845+87b84552 | ALSA-2024:5258 |
| AlmaLinux:8 | criu | 3.18-5.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | criu | 3.18-5.module_el8.10.0+3845+87b84552 | ALSA-2024:5258 |
| AlmaLinux:8 | criu-devel | 3.18-5.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | criu-devel | 3.18-5.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | criu-libs | 3.18-5.module_el8.10.0+3845+87b84552 | ALSA-2024:5258 |
| AlmaLinux:8 | criu-libs | 3.18-5.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | crun | 1.14.3-2.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | crun | 1.14.3-2.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | delve | 1.21.2-3.module_el8.10.0+3760+4dd778f9 | ALSA-2024:4237 |
| AlmaLinux:8 | fuse-overlayfs | 1.13-1.module_el8.10.0+3792+03eaed9c | ALSA-2024:5258 |
| AlmaLinux:8 | fuse-overlayfs | 1.13-1.module_el8.10.0+3859+6ae70a0e | ALSA-2024:5258 |
| AlmaLinux:8 | go-toolset | 1.21.11-1.module_el8.10.0+3863+bb82df69 | ALSA-2024:4237 |
| AlmaLinux:9 | go-toolset | 1.21.11-1.el9_4 | ALSA-2024:4212 |
| AlmaLinux:8 | golang | 1.21.11-1.module_el8.10.0+3863+bb82df69 | ALSA-2024:4237 |
| AlmaLinux:9 | golang | 1.21.11-1.el9_4 | ALSA-2024:4212 |
| AlmaLinux:8 | golang-bin | 1.21.11-1.module_el8.10.0+3863+bb82df69 | ALSA-2024:4237 |
| AlmaLinux:9 | golang-bin | 1.21.11-1.el9_4 | ALSA-2024:4212 |
| AlmaLinux:8 | golang-docs | 1.21.11-1.module_el8.10.0+3863+bb82df69 | ALSA-2024:4237 |
| AlmaLinux:9 | golang-docs | 1.21.11-1.el9_4 | ALSA-2024:4212 |
| AlmaLinux:8 | golang-misc | 1.21.11-1.module_el8.10.0+3863+bb82df69 | ALSA-2024:4237 |
| AlmaLinux:9 | golang-misc | 1.21.11-1.el9_4 | ALSA-2024:4212 |
| AlmaLinux:8 | golang-src | 1.21.11-1.module_el8.10.0+3863+bb82df69 | ALSA-2024:4237 |
| AlmaLinux:9 | golang-src | 1.21.11-1.el9_4 | ALSA-2024:4212 |
| AlmaLinux:8 | golang-tests | 1.21.11-1.module_el8.10.0+3863+bb82df69 | ALSA-2024:4237 |
| AlmaLinux:9 | golang-tests | 1.21.11-1.el9_4 | ALSA-2024:4212 |
| AlmaLinux:8 | grafana | 9.2.10-17.el8_10 | ALSA-2024:5291 |
| AlmaLinux:9 | grafana | 10.2.6-4.el9 | ALSA-2024:9115 |
| AlmaLinux:8 | grafana-selinux | 9.2.10-17.el8_10 | ALSA-2024:5291 |
| AlmaLinux:9 | grafana-selinux | 10.2.6-4.el9 | ALSA-2024:9115 |
| AlmaLinux:8 | libslirp | 4.4.0-2.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | libslirp | 4.4.0-2.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | libslirp-devel | 4.4.0-2.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | libslirp-devel | 4.4.0-2.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | netavark | 2:1.10.3-1.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | netavark | 2:1.10.3-1.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | oci-seccomp-bpf-hook | 1.2.10-1.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | oci-seccomp-bpf-hook | 1.2.10-1.module_el8.10.0+3792+03eaed9c | ALSA-2024:5258 |
| AlmaLinux:8 | podman | 4:4.9.4-12.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | podman-catatonit | 4:4.9.4-12.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | podman-docker | 4:4.9.4-12.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | podman-gvproxy | 4:4.9.4-12.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | podman-plugins | 4:4.9.4-12.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | podman-remote | 4:4.9.4-12.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | podman-tests | 4:4.9.4-12.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | python3-criu | 3.18-5.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | python3-podman | 4.9.0-2.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | runc | 1:1.1.12-4.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | skopeo | 2:1.14.5-3.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | skopeo-tests | 2:1.14.5-3.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | slirp4netns | 1.2.3-1.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | slirp4netns | 1.2.3-1.module_el8.10.0+3845+87b84552 | ALSA-2024:5258 |
| AlmaLinux:8 | slirp4netns | 1.2.3-1.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | toolbox | 0.0.99.5-2.module_el8.10.0+3876+e55593a8 | ALSA-2024:5258 |
| AlmaLinux:8 | toolbox | 0.0.99.5-2.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | toolbox | 0.0.99.5-2.module_el8.10.0+3845+87b84552 | ALSA-2024:5258 |
| AlmaLinux:8 | toolbox-tests | 0.0.99.5-2.module_el8.10.0+3845+87b84552 | ALSA-2024:5258 |
| AlmaLinux:8 | toolbox-tests | 0.0.99.5-2.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| AlmaLinux:8 | udica | 0.2.6-21.module_el8.10.0+3858+6ad51f9f | ALSA-2024:5258 |
| Alpine:v3.21 | forgejo | 7.0.4-r0 | ALPINE-CVE-2024-24789 |
| Alpine:v3.22 | forgejo | 7.0.4-r0 | ALPINE-CVE-2024-24789 |
| Alpine:v3.23 | forgejo | 7.0.4-r0 | ALPINE-CVE-2024-24789 |
| Alpine:v3.24 | forgejo | 7.0.4-r0 | ALPINE-CVE-2024-24789 |
| Alpine:v3.20 | go | 1.22.4-r0 | ALPINE-CVE-2024-24789 |
| Alpine:v3.21 | go | 1.22.4-r0 | ALPINE-CVE-2024-24789 |
| Alpine:v3.22 | go | 1.22.4-r0 | ALPINE-CVE-2024-24789 |
| Alpine:v3.23 | go | 1.22.4-r0 | ALPINE-CVE-2024-24789 |
| Alpine:v3.24 | go | 1.22.4-r0 | ALPINE-CVE-2024-24789 |
| Debian:12 | golang-1.19 | no fix listed | DEBIAN-CVE-2024-24789 |
| Go | stdlib | 1.21.11, 1.22.4 | GO-2024-2888 |
| Rocky Linux:8 | aardvark-dns | 2:1.10.0-1.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | buildah | 2:1.33.8-4.module+el8.10.0+1843+6892ab28 | RLSA-2024:5258 |
| Rocky Linux:8 | cockpit-podman | 0:84.1-1.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | conmon | 3:2.1.10-1.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | container-selinux | 2:2.229.0-2.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | containernetworking-plugins | 1:1.4.0-5.module+el8.10.0+1843+6892ab28 | RLSA-2024:5258 |
| Rocky Linux:8 | containers-common | 2:1-82.module+el8.10.0+1843+6892ab28 | RLSA-2024:5258 |
| Rocky Linux:8 | criu | 0:3.18-5.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | crun | 0:1.14.3-2.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | delve | 0:1.21.2-3.module+el8.10.0+1814+f68f8a63 | RLSA-2024:4237 |
| Rocky Linux:8 | fuse-overlayfs | 0:1.13-1.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | go-toolset | 0:1.21.11-1.module+el8.10.0+1831+fc70fba6 | RLSA-2024:4237 |
| Rocky Linux:8 | golang | 0:1.21.11-1.module+el8.10.0+1831+fc70fba6 | RLSA-2024:4237 |
| Rocky Linux:9 | golang | 0:1.21.11-1.el9_4 | RLSA-2024:4212 |
| Rocky Linux:8 | grafana | 0:9.2.10-17.el8_10 | RLSA-2024:5291 |
| Rocky Linux:8 | libslirp | 0:4.4.0-2.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | netavark | 2:1.10.3-1.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | oci-seccomp-bpf-hook | 0:1.2.10-1.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | podman | 4:4.9.4-12.module+el8.10.0+1843+6892ab28 | RLSA-2024:5258 |
| Rocky Linux:9 | podman | 4:5.2.2-13.el9_5 | RLSA-2024:9102 |
| Rocky Linux:8 | python-podman | 0:4.9.0-2.module+el8.10.0+1843+6892ab28 | RLSA-2024:5258 |
| Rocky Linux:8 | runc | 1:1.1.12-4.module+el8.10.0+1843+6892ab28 | RLSA-2024:5258 |
| Rocky Linux:8 | skopeo | 2:1.14.5-3.module+el8.10.0+1843+6892ab28 | RLSA-2024:5258 |
| Rocky Linux:8 | slirp4netns | 0:1.2.3-1.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Rocky Linux:8 | toolbox | 0:0.0.99.5-2.module+el8.10.0+1815+5fe7415e.rocky.0.2.rocky.0.2 | RLSA-2024:5258 |
| Rocky Linux:8 | udica | 0:0.2.6-21.module+el8.10.0+1815+5fe7415e | RLSA-2024:5258 |
| Ubuntu:22.04:LTS | golang-1.17 | 1.17.13-3ubuntu1.3 | UBUNTU-CVE-2024-24789 |
| Ubuntu:22.04:LTS | golang-1.17 | 1.17.13-3ubuntu1.3 | USN-7111-1 |
| Ubuntu:22.04:LTS | golang-1.18 | 1.18.1-1ubuntu1.2 | USN-7109-1 |
| Ubuntu:22.04:LTS | golang-1.18 | 1.18.1-1ubuntu1.2 | UBUNTU-CVE-2024-24789 |
| Ubuntu:22.04:LTS | golang-1.20 | no fix listed | UBUNTU-CVE-2024-24789 |
| Ubuntu:22.04:LTS | golang-1.21 | 1.21.1-1~ubuntu22.04.3 | USN-6886-1 |
| Ubuntu:22.04:LTS | golang-1.21 | 1.21.1-1~ubuntu22.04.3 | UBUNTU-CVE-2024-24789 |
| Ubuntu:24.04:LTS | golang-1.21 | 1.21.9-1ubuntu0.1 | USN-6886-1 |
| Ubuntu:24.04:LTS | golang-1.21 | 1.21.9-1ubuntu0.1 | UBUNTU-CVE-2024-24789 |
| Ubuntu:22.04:LTS | golang-1.22 | 1.22.2-2~22.04.1 | USN-6886-1 |
| Ubuntu:22.04:LTS | golang-1.22 | 1.22.2-2~22.04.1 | UBUNTU-CVE-2024-24789 |
| Ubuntu:24.04:LTS | golang-1.22 | 1.22.2-2ubuntu0.1 | UBUNTU-CVE-2024-24789 |
| Ubuntu:24.04:LTS | golang-1.22 | 1.22.2-2ubuntu0.1 | USN-6886-1 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Go standard library | archive/zip | 0 – before 1.21.111.22.0-0 – before 1.22.4 |
References
- https://go.dev/cl/585397
- https://go.dev/issue/66869
- https://groups.google.com/g/golang-announce/c/XbxouI9gY7k/m/TuoGEhxIEwAJ
- https://pkg.go.dev/vuln/GO-2024-2888
- http://www.openwall.com/lists/oss-security/2024/06/04/1
- https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/U5YAEIA6IUHUNGJ7AIXXPQT6D2GYENX7/
- https://security.netapp.com/advisory/ntap-20250131-0008/