CVE-2021-38297 in the critical feed json
Buffer overflow in WASM modules in misc/wasm and cmd/link
published 5y ago modified 2mo ago also BIT-golang-2021-38297 , EUVD-2021-24753 , GO-2022-0247
- cvss
- 9.8
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 11.0%
- EPSS 11.0% chance of exploitation in 30 days, percentile 95%
- public exploits
- 0
- none known
Summary
Go before 1.16.9 and 1.17.x before 1.17.2 has a Buffer Overflow via large arguments in a function invocation from a WASM module, when GOARCH=wasm GOOS=js is used.
Patch / fix
- bitnami golang 1.16.9, 1.17.2
- go toolchain 1.16.9, 1.17.2
- golang go 1.16.9, 1.17.2
- golang-1.15 Debian 11 1.15.15-1~deb11u2
debian advisories DEBIAN-CVE-2021-38297
- delve RHEL 8 1.7.2-1.module+el8.6.0+12972+ebab5911
- golang RHEL 8 1.17.7-1.module+el8.6.0+14297+32a15e19
- go-toolset RHEL 8 1.17.7-1.module+el8.6.0+14297+32a15e19
- golang-bin RHEL 8 1.17.7-1.module+el8.6.0+14297+32a15e19
- golang-src RHEL 8 1.17.7-1.module+el8.6.0+14297+32a15e19
- golang-misc RHEL 8 1.17.7-1.module+el8.6.0+14297+32a15e19
- golang-race RHEL 8 1.17.7-1.module+el8.6.0+14297+32a15e19
- golang-tests RHEL 8 1.17.7-1.module+el8.6.0+14297+32a15e19
red hat advisories RHSA-2022:1819RHSA-2022:0432
- google-guest-agent SLE Module for Public Cloud 12 20230221.00-1.29.1
- google-osconfig-agent SLE Module for Public Cloud 15 SP4, SLE Module for Public Cloud 15 SP3, SLE Module for Public Cloud 15 SP2 +2 more 20230222.00-150000.1.27.1
- google-osconfig-agent SLE Module for Public Cloud 12 20230222.00-1.20.1
- google-guest-agent SLE Module for Public Cloud 15 SP4, SLE Module for Public Cloud 15 SP3, SLE Module for Public Cloud 15 SP2 +2 more 20230221.00-150000.1.34.1
- go1.17 SLE Module for Development Tools 15 SP3, SLE Module for Development Tools 15 SP2 1.17.2-1.6.2
- go1.16 SLE Module for Development Tools 15 SP3, SLE Module for Development Tools 15 SP2 1.16.9-1.29.1
suse advisories SUSE-SU-2023:0603-1SUSE-SU-2023:0602-1SUSE-SU-2023:0601-1SUSE-SU-2023:0600-1SUSE-SU-2021:3488-1SUSE-SU-2021:3487-1
- go1.16 openSUSE Tumbleweed 1.16.9-1.1
- go1.17 openSUSE Tumbleweed 1.17.2-1.1
- google-guest-agent openSUSE Tumbleweed 20230221.00-2.1
- google-osconfig-agent openSUSE Tumbleweed 20230222.00-2.1
- go1.16 openSUSE Leap 15.2 1.16.9-lp152.14.1
- go1.17 openSUSE Leap 15.3 1.17.2-1.6.2
- go1.16 openSUSE Leap 15.3 1.16.9-1.29.1
opensuse advisories openSUSE-SU-2024:11567-1openSUSE-SU-2024:11568-1openSUSE-SU-2024:12758-1openSUSE-SU-2024:12759-1openSUSE-SU-2021:1420-1openSUSE-SU-2021:3488-1
- delve AlmaLinux 8 1.7.2-1.module_el8.6.0+2736+ec10aba8
- golang AlmaLinux 8 1.17.7-1.module_el8.6.0+2736+ec10aba8
- go-toolset AlmaLinux 8 1.17.7-1.module_el8.6.0+2736+ec10aba8
- golang-bin AlmaLinux 8 1.17.7-1.module_el8.6.0+2736+ec10aba8
- golang-src AlmaLinux 8 1.17.7-1.module_el8.6.0+2736+ec10aba8
- golang-misc AlmaLinux 8 1.17.7-1.module_el8.6.0+2736+ec10aba8
- golang-race AlmaLinux 8 1.17.7-1.module_el8.6.0+2736+ec10aba8
- golang-tests AlmaLinux 8 1.17.7-1.module_el8.6.0+2736+ec10aba8
almalinux advisories ALSA-2022:1819
- delve Rocky Linux 8 1.7.2-1.module+el8.6.0+824+8e984c20
- golang Rocky Linux 8 1.17.7-1.module+el8.6.0+824+8e984c20
- go-toolset Rocky Linux 8 1.17.7-1.module+el8.6.0+824+8e984c20
rocky linux advisories RLSA-2022:1819
- go Alpine 3.24, Alpine 3.23, Alpine 3.22 +7 more 1.17.2-r0
alpine advisories ALPINE-CVE-2021-38297
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- golang CBL-Mariner 2.0 1.17.8-1
azure linux advisories AZL-6450
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- go Arch Linux 2:1.17.2-1
arch linux advisories AVG-2454
Is CVE-2021-38297 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2021-38297 updated cvss 9.8
golang: Command-line arguments may overwrite global data
-
Red Hat OpenShift Serverless knative-serving knative-serving, knative-eventing knative-eventing Red Hat Advanced Cluster Security 3 roxaffected: workaround, no fix available
-
Red Hat Ceph Storage 2 golang, grafana, golang-bin, golang-src Red Hat Ceph Storage 3 golang, grafana, golang-bin, golang-src, grafana-container, prometheus-node-exporter Red Hat Enterprise Linux 7 golang, golang-bin, golang-src, golang-misc, golang-testsaffected: workaround, no fix planned “Out of support scope”
-
Red Hat Service Telemetry Framework 1.3 for RHEL 8 stf/sg-core-rhel8affected: workaround, no fix planned “Will not fix”
-
Red Hat Enterprise Linux AppStream (v. 8) delve 1.7.2-1.module+el8.6.0+12972+ebab5911, golang 1.17.7-1.module+el8.6.0+14297+32a15e19, go-toolset 1.17.7-1.module+el8.6.0+14297+32a15e19, golang-bin 1.17.7-1.module+el8.6.0+14297+32a15e19, golang-src 1.17.7-1.module+el8.6.0+14297+32a15e19, golang-misc 1.17.7-1.module+el8.6.0+14297+32a15e19, +2 morefixed: vendor fix RHSA-2022:1819
-
Red Hat OpenShift Serverless 1.0 openshift-serverless-clients 0.26.0-2.el8fixed: vendor fix RHSA-2022:0432
-
Red Hat OpenShift Serverless 1.20 openshift-serverless-1/client-kn-rhel8 0.26.0-1, openshift-serverless-1/serving-queue-rhel8 0.26.0-1, openshift-serverless-1/eventing-mtping-rhel8 0.26.0-1, openshift-serverless-1/kourier-control-rhel8 0.26.0-1, openshift-serverless-1/serving-webhook-rhel8 0.26.0-1, openshift-serverless-1/eventing-webhook-rhel8 0.26.0-1, +28 morefixed: vendor fix RHSA-2022:0434
-
Red Hat Distributed Tracing Jaeger 1 distributed-tracing/jaeger-all-in-one-rhel8 Red Hat Migration Toolkit for Containers rhmtc/openshift-migration-rhel8-operator Red Hat Migration Toolkit for Virtualization migration-toolkit-virtualization/mtv-controller-rhel9 Red Hat OpenShift Service Mesh 2.0 servicemesh, servicemesh-mixc, servicemesh-mixs, servicemesh-grafana, servicemesh-istioctl, servicemesh-operator, +4 more Red Hat Ceph Storage 4 rhceph/rhceph-4-dashboard-rhel8 Red Hat Ceph Storage 5 rhceph/rhceph-5-dashboard-rhel8not affected: vulnerable code not present
+15 more productsfewer
Red Hat Enterprise Linux 7 buildah Red Hat Enterprise Linux 8 buildah, git-lfs, buildah-tests Red Hat Enterprise Linux 9 golang, buildah, git-lfs, go-toolset, golang-bin, golang-src, +4 more Red Hat OpenShift Container Platform 3.11 atomic-openshift, atomic-openshift-pod, atomic-openshift-node, atomic-openshift-tests, atomic-openshift-master, atomic-openshift-clients, +7 more Red Hat OpenShift Container Platform 4 openshift, openshift-clients, openshift-kubelet, openshift-hyperkube, openshift4/ose-console, openshift4/ose-grafana, +5 more Red Hat Openshift Container Storage 4 mcg, ocs4/cephcsi-rhel8, ocs4/mcg-rhel8-operator, ocs4/ocs-rhel8-operator, ocs4/ocs-must-gather-rhel8, ocs4/rook-ceph-rhel8-operator Red Hat Openshift Data Foundation 4 mcg, odf4/cephcsi-rhel9, odf4/ocs-rhel9-operator, noobaa-operator-container, odf4/ocs-must-gather-rhel8, odf4/rook-ceph-rhel9-operator Red Hat OpenShift Virtualization 2 kubevirt, virt-api-container, kubemacpool-container, virt-handler-container, bridge-marker-container, virt-launcher-container, +26 more Red Hat OpenShift Virtualization 4 kubevirt, container-native-virtualization/virt-api, container-native-virtualization/kubemacpool, container-native-virtualization/virt-handler, container-native-virtualization/bridge-marker, container-native-virtualization/virt-launcher, +25 more Red Hat OpenStack Platform 16.1 etcd, golang-github-vbatts-tar-split Red Hat OpenStack Platform 16.2 etcd, golang-github-vbatts-tar-split Red Hat Quay 3 quay/quay-rhel8, quay/clair-rhel8, quay/quay-builder-rhel8, quay/quay-operator-rhel8, quay/quay-openshift-bridge-rhel8-operator, quay/quay-container-security-operator-rhel8 Red Hat Software Collections rh-git227-git-lfs Red Hat Storage 3 etcd, golang, heketi, grafana, golang-bin, golang-src, +5 more Red Hat Service Telemetry Framework 1.2 for RHEL 8 stf/sg-core-rhel8, smart-gateway-container
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
Exploit prediction
10.96% chance of exploitation in the next 30 days, higher than 95% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| NVD | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
| NVD | 2.0 | 7.5 | AV:N/AC:L/Au:N/C:P/I:P/A:P |
| OSV | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | golang | <1.16.9 >=1.17.0, <1.17.2 |
1.16.9 1.17.2 |
| go | toolchain | <1.16.9 >=1.17.0-0, <1.17.2 |
1.16.9 1.17.2 |
Classification
- Weakness
-
- CWE-120 Buffer Copy without Checking Size of Input
References
-
go.dev
/cl/354571
patch
-
go.googlesource.com
/go/+/77f2750f4398990eed972186706f160631d7dae4
patch
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/4OFS3M3OFB24SWPTIAPARKGPUMQVUY6Z/
vendor-advisory, web
-
lists.fedoraproject.org
/archives/list/package-announce%40lists.fedoraproject.org/message/ON7BQRRJZBOR5TJHURBAB3WLF4YXFC6Z/
vendor-advisory, web
-
security.gentoo.org
/glsa/202208-02
vendor-advisory, third-party-advisory, advisory
-
groups.google.com
/forum/#%21forum/golang-announce
web
-
groups.google.com
/g/golang-announce/c/AEBu9j7yj5A
mailing-list, release-notes, third-party-advisory, advisory, web
-
security.netapp.com
/advisory/ntap-20211118-0006/
third-party-advisory, advisory
-
lists.debian.org
/debian-lts-announce/2023/04/msg00021.html
mailing-list, web
-
nvd.nist.gov
/vuln/detail/CVE-2021-38297
web
-
go.dev
/issue/48797
report
Sources
- CVE List CVE-2021-38297
- NVD CVE-2021-38297
- OSV BIT-golang-2021-38297
- OSV GO-2022-0247
Fencer Intel 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.