CVE-2026-39817 json
Invoking "go tool pack" does not sanitize output paths in cmd/go
published 2026-05-07 6 mo ago modified 2026-09-22 48 d ago also BIT-golang-2026-39817 , EUVD-2026-28421 , GO-2026-4979
- cvss
- 5.9
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 6%
- public exploits
- 0
- none known
Summary
The "go tool pack" subcommand (usually used only by the compiler as an internal tool with known-good inputs) does not sanitize output filenames. Extracting a malicious archive file with the "pack" subcommand can write files to arbitrary locations on the filesystem.
Patch / fix
- bitnami golang 1.25.10, 1.26.3
- go toolchain 1.25.10, 1.26.3
- Go toolchain cmd/go 1.25.10, 1.26.3
- golang-1.26 Debian 14 1.26.3-1
debian advisories DEBIAN-CVE-2026-39817
- golang1.27 hummingbird 1 1.27.1-0.1.hum1
- golang1.27-bin hummingbird 1 1.27.1-0.1.hum1
- golang1.27-src hummingbird 1 1.27.1-0.1.hum1
- golang1.27-misc hummingbird 1 1.27.1-0.1.hum1
- golang1.27-tests hummingbird 1 1.27.1-0.1.hum1
- golang1.26 hummingbird 1 1.26.8-0.1.hum1
- golang1.26-bin hummingbird 1 1.26.8-0.1.hum1
- golang1.26-src hummingbird 1 1.26.8-0.1.hum1
red hat advisories RHSA-2026:66561RHSA-2026:62391RHSA-2026:61253RHSA-2026:57649RHSA-2026:49712RHSA-2026:49702
- go1.25-openssl SLES for SAP applications 16.0, SLES 16.0 1.25.12-160000.1.1
- go1.26-openssl SLES for SAP applications 16.0, SLES 16.0 1.26.4-160000.1.1
suse advisories SUSE-SU-2026:22638-1SUSE-SU-2026:22572-1
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
- go1.25-openssl openSUSE Leap 16.0 1.25.12-160000.1.1
- go1.26-openssl openSUSE Leap 16.0 1.26.4-160000.1.1
- go1.26 openSUSE Tumbleweed 1.26.3-1.1
- go1.25 openSUSE Tumbleweed 1.25.10-1.1
opensuse advisories openSUSE-SU-2026:21483-1openSUSE-SU-2026:21319-1openSUSE-SU-2026:21254-1openSUSE-SU-2026:10741-1openSUSE-SU-2026:10723-1
- delve AlmaLinux 8 1.25.2-1.module_el8.10.0+4074+24330916
- golang AlmaLinux 8 1.25.10-1.module_el8.10.0+4187+c45165c4
- go-toolset AlmaLinux 8 1.25.10-1.module_el8.10.0+4187+c45165c4
- golang-bin AlmaLinux 8 1.25.10-1.module_el8.10.0+4187+c45165c4
- golang-src AlmaLinux 8 1.25.10-1.module_el8.10.0+4187+c45165c4
- golang-misc AlmaLinux 8 1.25.10-1.module_el8.10.0+4187+c45165c4
- golang-race AlmaLinux 8 1.25.10-1.module_el8.10.0+4187+c45165c4
- golang-tests AlmaLinux 8 1.25.10-1.module_el8.10.0+4187+c45165c4
almalinux advisories ALSA-2026:22112ALSA-2026:22121
- golang Rocky Linux 10 1.26.3-4.el10_2
- golang Rocky Linux 9 1.26.3-1.el9_8
- delve Rocky Linux 8 1.25.2-1.module+el8.10.0+40035+ee0a7047
- golang Rocky Linux 8 1.25.10-1.module+el8.10.0+40200+0fd0f175
rocky linux advisories RLSA-2026:22120RLSA-2026:22121RLSA-2026:22112
- go Alpine 3.23 1.25.10-r0
- go Alpine 3.24 1.26.3-r0
- rclone Alpine 3.24 1.74.1-r0
alpine advisories ALPINE-CVE-2026-39817
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- go.dev/cl/767520 patch
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-39817 updated cvss 5.9
cmd/go: golang: Go tool pack: Arbitrary file write via malicious archive extraction
-
Red Hat Hardened Images golang1.25affected: no fix planned “Will not fix”
-
Red Hat Multicluster Engine for Kubernetes multicluster-engine/work-rhel9, multicluster-engine/maestro-rhel9, multicluster-engine/placement-rhel9, multicluster-engine/addon-manager-rhel9, multicluster-engine/backplane-rhel9-operator, multicluster-engine/multicloud-manager-rhel9, +3 more Red Hat Advanced Cluster Management for Kubernetes 2 rhacm2/config-policy-controller-rhel9, rhacm2/klusterlet-addon-controller-rhel9, rhacm2/governance-policy-propagator-rhel9, rhacm2/acm-governance-policy-framework-addon-rhel9, rhacm2/acm-governance-policy-addon-controller-rhel9 Red Hat OpenShift Container Platform 4 openshift4/ose-hypershift-rhel9under investigation
-
Red Hat multicluster engine for Kubernetes 2.11 multicluster-engine/hypershift-addon-rhel9-operator 1786912006fixed: vendor fix RHSA-2026:57194
-
Red Hat OpenShift API for Data Protection 1.6 oadp/oadp-velero-rhel9 1784058822fixed: vendor fix RHSA-2026:43692
-
Red Hat Enterprise Linux AppStream (v. 8) delve 1.25.2-1.module+el8.10.0+23746+9db33b5e, golang 1.25.10-1.module+el8.10.0+24308+5c4a16b7, go-toolset 1.25.10-1.module+el8.10.0+24308+5c4a16b7, golang-bin 1.25.10-1.module+el8.10.0+24308+5c4a16b7, golang-src 1.25.10-1.module+el8.10.0+24308+5c4a16b7, golang-misc 1.25.10-1.module+el8.10.0+24308+5c4a16b7, +2 morefixed: vendor fix RHSA-2026:22112
-
Red Hat Enterprise Linux AppStream (v. 9) golang 1.26.3-1.el9_8, go-toolset 1.26.3-1.el9_8, golang-bin 1.26.3-1.el9_8, golang-src 1.26.3-1.el9_8, golang-misc 1.26.3-1.el9_8, golang-race 1.26.3-1.el9_8, +1 morefixed: vendor fix RHSA-2026:22121
-
Red Hat Enterprise Linux AppStream (v. 10) golang 1.26.3-4.el10_2, go-toolset 1.26.3-4.el10_2, golang-bin 1.26.3-4.el10_2, golang-src 1.26.3-4.el10_2, golang-misc 1.26.3-4.el10_2, golang-race 1.26.3-4.el10_2, +1 morefixed: vendor fix RHSA-2026:22120
-
Red Hat Enterprise Linux AppStream E4S (v.9.2) golang 1.26.5-1.el9_2, go-toolset 1.26.5-1.el9_2, golang-bin 1.26.5-1.el9_2, golang-src 1.26.5-1.el9_2, golang-misc 1.26.5-1.el9_2, golang-race 1.26.5-1.el9_2, +1 morefixed: vendor fix RHSA-2026:61253
show 5 moreshow fewer
-
Red Hat Enterprise Linux AppStream E4S (v.9.4) golang 1.26.5-1.el9_4, go-toolset 1.26.5-1.el9_4, golang-bin 1.26.5-1.el9_4, golang-src 1.26.5-1.el9_4, golang-misc 1.26.5-1.el9_4, golang-race 1.26.5-1.el9_4, +1 morefixed: vendor fix RHSA-2026:57649
-
Red Hat Enterprise Linux AppStream EUS (v. 10.0) golang 1.26.5-1.el10_0, go-toolset 1.26.5-1.el10_0, golang-bin 1.26.5-1.el10_0, golang-src 1.26.5-1.el10_0, golang-misc 1.26.5-1.el10_0, golang-race 1.26.5-1.el10_0, +1 morefixed: vendor fix RHSA-2026:49702
-
Red Hat Enterprise Linux AppStream EUS (v.9.6) golang 1.26.5-1.el9_6, go-toolset 1.26.5-1.el9_6, golang-bin 1.26.5-1.el9_6, golang-src 1.26.5-1.el9_6, golang-misc 1.26.5-1.el9_6, golang-race 1.26.5-1.el9_6, +1 morefixed: vendor fix RHSA-2026:49712
-
Red Hat Hardened Images golang1.26 1.26.8-0.1.hum1, golang1.27 1.27.1-0.1.hum1, golang1.26-bin 1.26.8-0.1.hum1, golang1.26-src 1.26.8-0.1.hum1, golang1.27-bin 1.27.1-0.1.hum1, golang1.27-src 1.27.1-0.1.hum1, +4 morefixed: vendor fix RHSA-2026:62391
-
Red Hat multicluster engine for Kubernetes 2.11 multicluster-engine/hive-rhel9 1786947450, multicluster-engine/work-rhel9 1786907276, multicluster-engine/discovery-rhel9 1786911975, multicluster-engine/placement-rhel9 1786911984, multicluster-engine/console-mce-rhel9 1786911977, multicluster-engine/must-gather-rhel9 1786911926, +25 more Red Hat OpenShift API for Data Protection 1.6 oadp/oadp-rhel9-operator 1784059086, oadp/oadp-non-admin-rhel9 1784059055, oadp/oadp-operator-bundle 1784060839, oadp/oadp-mustgather-rhel9 1784058949, oadp/oadp-vmfr-access-rhel9 1784059129, oadp/oadp-cli-binaries-rhel9 1784059134, +13 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 6 mo ago
Exploit prediction
0.17% chance of exploitation in the next 30 days, higher than 6% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 5.9 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N |
| NVD | 3.1 | 5.9 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N |
| CNA | 3.1 | 5.9 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N |
| OSV | 3.1 | 5.9 | CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | golang | <1.25.10 >=1.26.0-0, <1.26.3 |
1.25.10 1.26.3 |
| go | toolchain | <1.25.10 >=1.26.0-0, <1.26.3 |
1.25.10 1.26.3 |
Affected products
- Go toolchain cmd/go
Classification
- Weakness
-
- CWE-787 Out-of-bounds Write
References
-
go.dev
/cl/767520
patch
-
pkg.go.dev
/vuln/GO-2026-4979
vendor-advisory, advisory
-
go.dev
/issue/78778
issue-tracking, report
-
groups.google.com
/g/golang-announce/c/qcCIEXso47M
issue-tracking, mailing-list, report, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-39817
web
Sources
- CVE List CVE-2026-39817
- NVD CVE-2026-39817
- OSV BIT-golang-2026-39817
- OSV GO-2026-4979
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.