CVE-2024-24786 json
Infinite loop in JSON unmarshaling in google.golang.org/protobuf
published 2024-03-05 2 y ago modified 2026-10-14 25 d ago also EUVD-2024-0879 , GHSA-8r3f-844c-mc37 , GO-2024-2611
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.3%
- EPSS 1.3% chance of exploitation in 30 days, percentile 69%
- public exploits
- 0
- none known
Summary
The protojson.Unmarshal function can enter an infinite loop when unmarshaling certain forms of invalid JSON. This condition can occur when unmarshaling into a message which contains a google.protobuf.Any value, or when the UnmarshalOptions.DiscardUnknown option is set.
Patch / fix
- go google.golang.org/protobuf 1.33.0
- go google.golang.org/protobuf/encoding/protojson 1.33.0
- go google.golang.org/protobuf/internal/encoding/json 1.33.0
- google.golang.org/protobuf google.golang.org/protobuf/encoding/protojson 1.33.0
- google.golang.org/protobuf google.golang.org/protobuf/internal/encoding/json 1.33.0
- golang-google-protobuf Debian 14, Debian 13 1.33.0-1
debian advisories DEBIAN-CVE-2024-24786
- google-guest-agent Ubuntu 22.04 LTS 20231004.02-0ubuntu1~22.04.4
- google-guest-agent Ubuntu 24.04 LTS 20240213.00-0ubuntu3.1
- google-osconfig-agent Ubuntu 22.04 LTS 20230504.00-0ubuntu1~22.04.1
- google-osconfig-agent Ubuntu 24.04 LTS 20240320.00-0ubuntu1~24.04.1
ubuntu advisories UBUNTU-CVE-2024-24786
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kubernetes1.36 hummingbird 1 1.36.5-1.1.hum1
- kubernetes1.36-client hummingbird 1 1.36.5-1.1.hum1
- kubernetes1.36-kubeadm hummingbird 1 1.36.5-1.1.hum1
- kubernetes1.36-systemd hummingbird 1 1.36.5-1.1.hum1
- caddy hummingbird 1 2.11.7-0.2.hum1
- cosign hummingbird 1 3.1.3-0.3.hum1
- k6v2 hummingbird 1 2.3.0-0.2.hum1
- hugo hummingbird 1 0.167.0-0.2.hum1
red hat advisories RHSA-2026:80693RHSA-2026:80686RHSA-2026:80682RHSA-2026:80683RHSA-2026:80677RHSA-2026:80676
- podman Linux Micro 6.0 4.9.5-1.1
- kubernetes1.25 SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE Module for Containers 15 SP6 +5 more 1.25.16-150400.9.16.1
- kubernetes1.24 SLES for SAP 15 SP3, SLES 15 SP3-LTSS, SLE High Performance Computing 15 SP3-LTSS +1 more 1.24.17-150300.7.6.1
- kubernetes1.24 SLE Module for Containers 15 SP5, openSUSE Leap 15.6, openSUSE Leap 15.5 1.24.17-150500.3.22.1
- kubernetes1.24 SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +1 more 1.24.17-150400.9.16.1
- buildah SLES for SAP 15 SP4, SLES 15 SP4-LTSS, SLE High Performance Computing 15 SP4-LTSS +1 more 1.35.4-150400.3.30.1
- buildah SLE Module for Containers 15 SP6, SLE Module for Containers 15 SP5, openSUSE Leap 15.6 +1 more 1.35.4-150500.3.10.1
- docker SLES for SAP 15 SP4, SLES for SAP 15 SP3, SLES for SAP 15 SP2 +18 more 25.0.6_ce-150000.207.1
suse advisories SUSE-SU-2025:20013-1SUSE-SU-2024:3344-1SUSE-SU-2024:3343-1SUSE-SU-2024:3342-1SUSE-SU-2024:3341-1SUSE-SU-2024:3186-1
- velociraptor openSUSE Tumbleweed 0.7.0.4.git142.862ef23-1.1
- rclone openSUSE Tumbleweed 1.66.0-1.1
- buildah openSUSE Tumbleweed 1.35.3-1.1
- kubernetes1.26 openSUSE Tumbleweed 1.26.15-1.1
- kubernetes1.27 openSUSE Tumbleweed 1.27.12-1.1
- kubernetes1.28 openSUSE Tumbleweed 1.28.8-1.1
- kubernetes1.29 openSUSE Tumbleweed 1.29.3-1.1
opensuse advisories openSUSE-SU-2025:14663-1openSUSE-SU-2024:13781-1openSUSE-SU-2024:13814-1openSUSE-SU-2024:13838-1openSUSE-SU-2024:13839-1openSUSE-SU-2024:13840-1
- crit AlmaLinux 8 3.18-5.module_el8.10.0+3845+87b84552
- crit AlmaLinux 8 3.18-5.module_el8.10.0+3858+6ad51f9f
- criu AlmaLinux 8 3.18-5.module_el8.10.0+3845+87b84552
- criu AlmaLinux 8 3.18-5.module_el8.10.0+3858+6ad51f9f
- crun AlmaLinux 8 1.14.3-2.module_el8.10.0+3845+87b84552
- crun AlmaLinux 8 1.14.3-2.module_el8.10.0+3858+6ad51f9f
- runc AlmaLinux 8 1:1.1.12-1.module_el8.10.0+3845+87b84552
- runc AlmaLinux 8 1:1.1.12-1.module_el8.10.0+3858+6ad51f9f
almalinux advisories ALSA-2024:4246ALSA-2024:3254ALSA-2024:2548ALSA-2024:2549ALSA-2024:2550
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1815+5fe7415e
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1825+623b0c20
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1843+6892ab28
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1872+2e18eb19
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1874+ce489889
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1880+8e896d1b
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1896+b18fa106
- criu Rocky Linux 8 3.18-5.module+el8.10.0+1948+4b5cd4a9
rocky linux advisories RLSA-2024:4246RLSA-2024:3254RLSA-2024:2548RLSA-2024:2549RLSA-2024:2550
- buildah Alpine 3.24, Alpine 3.23, Alpine 3.22 +2 more 1.35.4-r0
alpine advisories ALPINE-CVE-2024-24786
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- azcopy CBL-Mariner 2.0, Azure Linux 3.0 10.24.0-1
- blobfuse2 CBL-Mariner 2.0 2.1.2-7
- cert-manager CBL-Mariner 2.0 1.11.2-14
- cf-cli CBL-Mariner 2.0 8.4.0-22
- coredns CBL-Mariner 2.0 1.11.1-12
- cri-tools CBL-Mariner 2.0 1.29.0-5
- etcd CBL-Mariner 2.0 3.5.12-6
- influxdb CBL-Mariner 2.0 2.6.1-18
azure linux advisories AZL-35551AZL-35554AZL-35556AZL-35558AZL-35560AZL-35561
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
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-2024-24786 updated cvss 5.9
google.golang.org/protobuf: golang-protobuf: Denial of Service via infinite loop when unmarshaling invalid JSON
-
Red Hat Builds for Red Hat OpenShift openshift-builds/openshift-builds-waiters-rhel8 Red Hat Logical Volume Manager Storage lvms4/topolvm-rhel9, lvms4/lvms-rhel9-operator Red Hat Migration Toolkit for Virtualization migration-toolkit-virtualization/mtv-validation-rhel9affected: workaround, no fix available
-
Red Hat Multicluster Engine for Kubernetes multicluster-engine/addon-manager-rhel9, multicluster-engine/managed-serviceaccount-rhel8, multicluster-engine/managed-serviceaccount-rhel9, multicluster-engine/provider-credential-controller-rhel8affected: workaround, no fix available, no fix planned “Will not fix”
-
Red Hat OpenShift Pipelines openshift-pipelines-clientaffected: workaround, no fix available
-
Red Hat OpenShift Service Mesh 2 openshift-service-mesh/kiali-rhel9, openshift-service-mesh/prometheus-rhel8 Red Hat Advanced Cluster Management for Kubernetes 2 rhacm2/subctl-rhel9, rhacm2/multiclusterhub-rhel8, rhacm2/lighthouse-agent-rhel9, rhacm2/submariner-addon-rhel8, rhacm2/acm-cluster-permission-rhel9, rhacm2/multicloud-integrations-rhel9, +1 moreaffected: workaround, no fix available, no fix planned “Will not fix”
-
Red Hat Advanced Cluster Security 3 advanced-cluster-security/rhacs-main-rhel8, advanced-cluster-security/rhacs-scanner-rhel8 Red Hat Advanced Cluster Security 4 advanced-cluster-security/rhacs-main-rhel8, advanced-cluster-security/rhacs-scanner-rhel8affected: workaround, no fix planned “Will not fix”
-
Red Hat Ceph Storage 5 rhceph/rhceph-5-dashboard-rhel8affected: workaround, no fix available
-
Red Hat Ceph Storage 6 rhceph/rhceph-promtail-rhel9, rhceph/rhceph-6-dashboard-rhel9 Red Hat Certification for Red Hat Enterprise Linux 8 redhat-certification-preflight Red Hat Certification Program for Red Hat Enterprise Linux 9 redhat-certification-preflightaffected: workaround, no fix planned “Will not fix”
-
Red Hat Enterprise Linux 8 delve, podman, skopeo, buildah, go-toolset, podman-tests, +13 moreaffected: workaround, no fix available, no fix planned “Will not fix”
show 21 moreshow fewer
-
Red Hat Enterprise Linux 9 ignition, ignition-edge, ignition-grub, osbuild-composer, ignition-validate, osbuild-composer-core, +2 moreaffected: workaround, no fix planned “Will not fix”
-
Red Hat Enterprise Linux 10 buildahaffected: workaround, no fix available
-
Red Hat Hardened Images prometheus3.5 3.5.5-0.8.hum1, opentofu1.11 1.11.14-0.1.hum1affected: workaround, no fix planned “Will not fix”
-
Red Hat OpenShift Container Platform 4 ignition, ignition-validate, openshift-clients, openshift4/ose-etcd, openshift4/ose-tests, openshift4/ose-console, +24 moreaffected: workaround, no fix available, no fix planned “Out of support scope”
-
Red Hat OpenShift Data Science (RHODS) rhods/odh-mm-rest-proxy-rhel8, rhods/odh-operator-base-rhel8, rhods/odh-ml-pipelines-cache-rhel8, rhods/odh-modelmesh-runtime-adapter-rhel8affected: workaround, no fix available “Fix deferred”
-
Red Hat OpenShift Dev Spaces devspaces/traefik-rhel8 Red Hat OpenShift distributed tracing 2 openshift4/tempo, rhosdt/jaeger-agent-rhel8, rhosdt/tempo-gateway-rhel8, rhosdt/jaeger-rhel8-operator, rhosdt/opentelemetry-rhel8-operator, rhosdt/opentelemetry-collector-rhel8affected: workaround, no fix available
-
Red Hat Openshift Sandboxed Containers openshift-sandboxed-containers/osc-rhel8-operator, openshift-sandboxed-containers/osc-podvm-payload-rhel9affected: workaround, no fix available “Fix deferred”
-
Red Hat OpenShift Virtualization 4 kubevirt, kubevirt-tekton-tasks, container-native-virtualization/hostpath-csi-driver-rhel8, container-native-virtualization/kubevirt-tekton-tasks-operator, container-native-virtualization/kubevirt-tekton-tasks-operator-rhel9affected: workaround, no fix available, no fix planned “Will not fix”
-
Red Hat OpenStack Platform 16.1 etcdaffected: workaround, no fix planned “Out of support scope”
-
Red Hat OpenStack Platform 16.2 etcdaffected: workaround, no fix planned “Will not fix”
-
Red Hat OpenStack Platform 17.1 etcd Red Hat Quay 3 quay/quay-builder-rhel8 Red Hat Self Node Remediation Operator workload-availability/self-node-remediation-rhel8-operatoraffected: workaround, no fix available
-
Red Hat OpenShift Container Platform 4 ose-azure-storage-azcopy-base-container, openshift4/ose-gcp-pd-csi-driver-operator-rhel9, openshift4/ose-cluster-kube-descheduler-operator, openshift4/ose-vsphere-csi-driver-operator-rhel8, openshift4/ose-gcp-filestore-csi-driver-rhel8-operator, openshift4/ose-ibm-vpc-block-csi-driver-operator-rhel8 Red Hat Satellite 6 yggdrasil-worker-forwarder Red Hat Storage 3 golang, golang-bin, golang-src, golang-misc, golang-testsunder investigation
-
Red Hat Builds for Red Hat OpenShiftfixed: vendor fix RHSA-2024:6221
-
Red Hat Builds for Red Hat OpenShift 1.1.1 openshift-buildsfixed: vendor fix RHSA-2024:5013
-
Red Hat CNV 4.14 for RHEL 9 container-native-virtualization/virt-api-rhel9 v4.14.7-16, container-native-virtualization/pr-helper-rhel9 v4.14.7-16, container-native-virtualization/virtio-win-rhel9 v4.14.7-5, container-native-virtualization/kubemacpool-rhel9 v4.14.7-6, container-native-virtualization/mtq-operator-rhel9 v4.14.7-5, container-native-virtualization/bridge-marker-rhel9 v4.14.7-5, +38 morefixed: vendor fix RHEA-2024:4835
-
Red Hat CNV 4.16 for RHEL 9 container-native-virtualization/virt-cdi-cloner-rhel9 v4.16.1-4, container-native-virtualization/hostpath-csi-driver-rhel9 v4.16.1-1, container-native-virtualization/kubevirt-ssp-operator-rhel9 v4.16.0-191, container-native-virtualization/kubevirt-tekton-tasks-create-datavolume-rhel9 v4.16.0-147fixed: vendor fix RHSA-2024:5054
-
Red Hat COO 0.4 for RHEL 8 cluster-observability-operator/coo-thanos-rhel8 v0.36.1-1, cluster-observability-operator/coo-korrel8r-rhel8 v0.6.3-15, cluster-observability-operator/coo-prometheus-rhel8 v2.54.1-1, cluster-observability-operator/coo-admission-webhook-rhel8 v0.77.1-1, cluster-observability-operator/coo-prometheus-rhel8-operator v0.77.1-1, cluster-observability-operator/coo-console-logging-plugin-rhel8 v6.0.0-20, +7 morefixed: vendor fix RHSA-2024:8040
-
Red Hat KDO 5.0 for RHEL 9 kube-descheduler-operator/descheduler-rhel9 v5.0-31, kube-descheduler-operator/descheduler-rhel9 v5.0-45, kube-descheduler-operator/kube-descheduler-rhel9-operator v5.0-28, kube-descheduler-operator/kube-descheduler-rhel9-operator v5.0-42, kube-descheduler-operator/kube-descheduler-operator-bundle v5.0-23fixed: vendor fix RHSA-2024:3617
-
Red Hat LVMS 4.14 for RHEL 9 lvms4/topolvm-rhel9 v4.14.10-3, lvms4/lvms-rhel9-operator v4.14.10-3, lvms4/lvms-operator-bundle v4.14.10-3, lvms4/lvms-must-gather-rhel9 v4.14.10-3fixed: vendor fix RHBA-2024:8194
-
Red Hat LVMS 4.15 for RHEL 9 lvms4/topolvm-rhel9 v4.15.8-4, lvms4/lvms-rhel9-operator v4.15.8-3, lvms4/lvms-operator-bundle v4.15.8-4, lvms4/lvms-must-gather-rhel9 v4.15.8-3fixed: vendor fix RHBA-2024:8188
-
Red Hat MTA 7.0 for RHEL 9 mta/mta-cli-rhel9 7.0.3-16, mta/mta-windup-shim-rhel9 7.0.3-12, mta/mta-analyzer-lsp-rhel9 7.0.3-13, mta/mta-analyzer-addon-rhel9 7.0.3-13fixed: vendor fix RHSA-2024:3316
45 more fixed, 40 more not affected in the full advisory
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
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
1.26% chance of exploitation in the next 30 days, higher than 69% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CISA ADP | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | google.golang.org/protobuf | <1.33.0 |
1.33.0 |
| go | google.golang.org/protobuf/encoding/protojson | <1.33.0 |
1.33.0 |
| go | google.golang.org/protobuf/internal/encoding/json | <1.33.0 |
1.33.0 |
Affected products
- google.golang.org/protobuf google.golang.org/protobuf/encoding/protojson
- google.golang.org/protobuf google.golang.org/protobuf/internal/encoding/json
Classification
- Weakness
-
- CWE-835 Loop with Unreachable Exit Condition
References
-
go.dev
/cl/569356
web, patch
-
github.com
/protocolbuffers/protobuf-go/commit/f01a588e5810b90996452eec4a28f22a0afae023
web
-
pkg.go.dev
/vuln/GO-2024-2611
web
- lists.fedoraproject.org /archives/list/package-announce@lists.fedoraproject.org/message/JDMBHAVSDU2FBDZ45U3A2VLSM35OJ2HU/
-
openwall.com
/lists/oss-security/2024/03/08/4
web
- security.netapp.com /advisory/ntap-20240517-0002/
-
nvd.nist.gov
/vuln/detail/CVE-2024-24786
advisory
-
github.com
/protocolbuffers/protobuf-go
package
-
github.com
/protocolbuffers/protobuf-go/releases/tag/v1.33.0
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/JDMBHAVSDU2FBDZ45U3A2VLSM35OJ2HU
web
-
security.netapp.com
/advisory/ntap-20240517-0002
web
Sources
- CVE List CVE-2024-24786
- GitHub Advisory GHSA-8r3f-844c-mc37
- NVD CVE-2024-24786
- OSV GO-2024-2611
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.