{"answers":{"affected":"3 open source packages ship an affected version, including go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc. It affects 1 product.","exploited":"It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-47108 exists.","fix":"Upgrade go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc to 0.46.0 or later.","what":"CVE-2023-47108 is a high-severity denial of service vulnerability in open-telemetry opentelemetry-go-contrib, published on 10 Nov 2023. An attacker can exploit it over the internet without logging in, with no action from the victim."},"fix_prompt":"Check this codebase for CVE-2023-47108 and fix it if it is affected.\n\nWhat it is: CVE-2023-47108 is a high-severity denial of service vulnerability in open-telemetry opentelemetry-go-contrib, published on 10 Nov 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.\nExploitation: It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-47108 exists.\n\nAffected packages and fixed versions:\n- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (Go): affected from 0.37.0; fixed in 0.46.0\n- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (Go): affected from 0.37.0; fixed in 0.46.0\n- go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (Go): affected from 0.37.0; fixed in 0.46.0\n\nTask:\n1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.\n2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.\n3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.\n4. Run the tests and summarise what changed and why.\n5. If nothing in the project is affected, say so and change nothing.\n\nReference: https://insights.sbomify.com/CVE-2023-47108/ (Markdown: https://insights.sbomify.com/CVE-2023-47108/index.md)","id":"CVE-2023-47108","markdown":"https://insights.sbomify.com/CVE-2023-47108/index.md","name":"CVE-2023-47108","record":{"aliases":["AZL-31896","AZL-34620","AZL-34891","AZL-34995","AZL-35434","AZL-35440","AZL-42745","CLEANSTART-2025-LI04591","CLEANSTART-2025-VC45240","CLEANSTART-2026-NU37715","GHSA-8pgv-569h-w5rw","GO-2023-2331","MINI-848c-f6vw-qmg8","MINI-8jw6-x77f-93hf","RHSA-2024:0288","RHSA-2024:0489","SUSE-SU-2025:20385-1","UBUNTU-CVE-2023-47108","openSUSE-SU-2024:13615-1","openSUSE-SU-2024:14032-1"],"analysis":{"component_type":"library","fix_type":"upgrade","impacts":["denial_of_service"],"network_reachable":"yes","non_default_config":false,"product_category":"OpenTelemetry Go library","requires_auth":"none","summary":"An attacker can cause memory exhaustion and denial of service in applications using the OpenTelemetry Go gRPC interceptor by flooding requests with unique peer addresses.","user_interaction":"not_required","vuln_class":"denial_of_service"},"analysis_generated_by":"qwen3.8-flash-next","assigner":"GitHub_M","cpe":[{"product":"opentelemetry","vendor":"opentelemetry"}],"cvss":{"score":7.5,"severity":"high","source":"cna","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H","version":"3.1"},"cwes":[{"id":"CWE-770","name":"Allocation of Resources Without Limits or Throttling"}],"description":"OpenTelemetry-Go Contrib is a collection of third-party packages for OpenTelemetry-Go. Starting in version 0.37.0 and prior to version 0.46.0, the grpc Unary Server Interceptor out of the box adds labels `net.peer.sock.addr` and `net.peer.sock.port` that have unbound cardinality. It leads to the server's potential memory exhaustion when many malicious requests are sent. An attacker can easily flood the peer address and port for requests. Version 0.46.0 contains a fix for this issue. As a workaround to stop being affected, a view removing the attributes can be used. The other possibility is to disable grpc metrics instrumentation by passing `otelgrpc.WithMeterProvider` option with `noop.NewMeterProvider`.","ecosystems":["Go","Red Hat:openshift:4.12::el8","Red Hat:openshift:4.13::el8","Red Hat:openshift:4.13::el9","SUSE:Linux Micro 6.0","openSUSE:Tumbleweed"],"exploits":{"exploitdb":0,"first_seen":"2024-06-25","github_poc":1,"max_poc_stars":0,"metasploit":0,"nuclei":0,"refs":[{"date":"2024-06-25T05:05:26Z","kind":"github_poc","ref":"https://github.com/bahe-msft/govuln-CVE-2023-47108","stars":0,"title":null}],"tier":"weaponised"},"has_fix":true,"headline":"DoS vulnerability in otelgrpc (uncontrolled resource consumption) due to unbound cardinality metrics","id":"CVE-2023-47108","indexable":true,"kev":null,"kind":"cve","links":{"ecosystem":"Go","product":null,"products":[],"type":"denial_of_service","year":"2023"},"n_packages":15,"n_references":7,"next":{"headline":"PrestaShop blockreassurance BO User can remove any file from server when adding a and deleting a block","id":"CVE-2023-47109"},"packages":[{"ecosystem":"Go","fixed":["0.46.0"],"introduced":["0.37.0"],"last_affected":[],"package":"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc","purl":null,"source":"GHSA-8pgv-569h-w5rw"},{"ecosystem":"Go","fixed":["0.46.0"],"introduced":["0.37.0"],"last_affected":[],"package":"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc","purl":"pkg:golang/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc","source":"GHSA-8pgv-569h-w5rw"},{"ecosystem":"Go","fixed":["0.46.0"],"introduced":["0.37.0"],"last_affected":[],"package":"go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc","purl":"pkg:golang/go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc","source":"GO-2023-2331"},{"ecosystem":"Red Hat:openshift:4.12::el8","fixed":["0:1.25.5-6.rhaos4.12.gitfcf6ef3.el8"],"introduced":["0"],"last_affected":[],"package":"cri-o","purl":"pkg:rpm/redhat/cri-o","source":"RHSA-2024:0489"},{"ecosystem":"Red Hat:openshift:4.12::el8","fixed":["0:1.25.5-6.rhaos4.12.gitfcf6ef3.el8"],"introduced":["0"],"last_affected":[],"package":"cri-o-debuginfo","purl":"pkg:rpm/redhat/cri-o-debuginfo","source":"RHSA-2024:0489"},{"ecosystem":"Red Hat:openshift:4.12::el8","fixed":["0:1.25.5-6.rhaos4.12.gitfcf6ef3.el8"],"introduced":["0"],"last_affected":[],"package":"cri-o-debugsource","purl":"pkg:rpm/redhat/cri-o-debugsource","source":"RHSA-2024:0489"},{"ecosystem":"Red Hat:openshift:4.13::el8","fixed":["0:1.26.4-9.1.rhaos4.13.gite26e057.el8"],"introduced":["0"],"last_affected":[],"package":"cri-o","purl":"pkg:rpm/redhat/cri-o","source":"RHSA-2024:0288"},{"ecosystem":"Red Hat:openshift:4.13::el8","fixed":["0:1.26.4-9.1.rhaos4.13.gite26e057.el8"],"introduced":["0"],"last_affected":[],"package":"cri-o-debuginfo","purl":"pkg:rpm/redhat/cri-o-debuginfo","source":"RHSA-2024:0288"},{"ecosystem":"Red Hat:openshift:4.13::el8","fixed":["0:1.26.4-9.1.rhaos4.13.gite26e057.el8"],"introduced":["0"],"last_affected":[],"package":"cri-o-debugsource","purl":"pkg:rpm/redhat/cri-o-debugsource","source":"RHSA-2024:0288"},{"ecosystem":"Red Hat:openshift:4.13::el9","fixed":["0:1.26.4-9.1.rhaos4.13.gite26e057.el9"],"introduced":["0"],"last_affected":[],"package":"cri-o","purl":"pkg:rpm/redhat/cri-o","source":"RHSA-2024:0288"},{"ecosystem":"Red Hat:openshift:4.13::el9","fixed":["0:1.26.4-9.1.rhaos4.13.gite26e057.el9"],"introduced":["0"],"last_affected":[],"package":"cri-o-debuginfo","purl":"pkg:rpm/redhat/cri-o-debuginfo","source":"RHSA-2024:0288"},{"ecosystem":"Red Hat:openshift:4.13::el9","fixed":["0:1.26.4-9.1.rhaos4.13.gite26e057.el9"],"introduced":["0"],"last_affected":[],"package":"cri-o-debugsource","purl":"pkg:rpm/redhat/cri-o-debugsource","source":"RHSA-2024:0288"},{"ecosystem":"SUSE:Linux Micro 6.0","fixed":["2.33.1-1.1"],"introduced":["0"],"last_affected":[],"package":"docker-compose","purl":"pkg:rpm/suse/docker-compose\u0026distro=SUSE%20Linux%20Micro%206.0","source":"SUSE-SU-2025:20385-1"},{"ecosystem":"openSUSE:Tumbleweed","fixed":["3.5.11-1.1"],"introduced":["0"],"last_affected":[],"package":"etcd","purl":"pkg:rpm/opensuse/etcd\u0026distro=openSUSE%20Tumbleweed","source":"openSUSE-SU-2024:13615-1"},{"ecosystem":"openSUSE:Tumbleweed","fixed":["2.28.0-1.1"],"introduced":["0"],"last_affected":[],"package":"okteto","purl":"pkg:rpm/opensuse/okteto\u0026distro=openSUSE%20Tumbleweed","source":"openSUSE-SU-2024:14032-1"}],"prev":{"headline":"PILOS account takeover through password reset poisoning","id":"CVE-2023-47107"},"products":["opentelemetry-go-contrib"],"published":"2023-11-10","related":[{"cvss_score":7.5,"headline":"OpenTelemetry-Go multi-value `baggage` header extraction causes excessive allocations (remote dos amplification)","id":"CVE-2026-29181","kev_date_added":null,"published":"2026-04-07"},{"cvss_score":7.5,"headline":"OpenTelemetry-Go Contrib has DoS vulnerability in otelhttp due to unbound cardinality metrics","id":"CVE-2023-45142","kev_date_added":null,"published":"2023-10-12"},{"cvss_score":7.5,"headline":"opentelemetry-instrumentation Denial of Service vulnerability due to unbound cardinality metrics","id":"CVE-2023-43810","kev_date_added":null,"published":"2023-10-06"},{"cvss_score":7.3,"headline":"opentelemetry-go: BSD kenv command not using absolute path enables PATH hijacking","id":"CVE-2026-39883","kev_date_added":null,"published":"2026-04-08"},{"cvss_score":7,"headline":"OpenTelemetry-Go Affected by Arbitrary Code Execution via PATH Hijacking","id":"CVE-2026-24051","kev_date_added":null,"published":"2026-02-02"},{"cvss_score":5.9,"headline":"OpenTelemetry dotnet: Potential memory exhaustion via unbounded pooled-list sizing in Jaeger exporter conversion path","id":"CVE-2026-41078","kev_date_added":null,"published":"2026-04-23"}],"sources":[{"class":"attribution","licence":"CVE Terms of Use (MITRE)","name":"CVE List","prefix":"CVE"},{"class":"attribution","licence":"CC BY 4.0","name":"GitHub Advisory Database","prefix":"GHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"Go Vulnerability Database","prefix":"GO"},{"class":"attribution","licence":"CC BY 4.0","name":"Red Hat","prefix":"RHSA"},{"class":"attribution","licence":"CC BY 4.0","name":"SUSE","prefix":"SUSE"},{"class":"attribution","licence":"CC BY 4.0","name":"SUSE","prefix":"openSUSE"},{"class":"attribution","licence":"US public information, NVD API terms","name":"NVD"},{"class":"attribution","licence":"CWE Terms of Use","name":"CWE (MITRE)"},{"class":"attribution","licence":"FIRST CVSS licence","name":"CVSS (FIRST)"},{"class":"open","licence":"CC0","name":"PoC-in-GitHub"}],"ssvc":{"automatable":"yes","exploitation":"poc","technical_impact":"partial"},"state":"PUBLISHED","updated":"2025-10-28","vendors":["open-telemetry"]},"summary":"An attacker can cause memory exhaustion and denial of service in applications using the OpenTelemetry Go gRPC interceptor by flooding requests with unique peer addresses.","url":"https://insights.sbomify.com/CVE-2023-47108/"}