{"id":"CVE-2026-41173","sourceIdentifier":"security-advisories@github.com","published":"2026-04-23T19:17:29.083","lastModified":"2026-10-26T21:10:00.170","vulnStatus":"Awaiting Analysis","cveTags":[],"descriptions":[{"lang":"en","value":"The AWS X-Ray Remote Sampler package provides a sampler which can get sampling configurations from AWS X-Ray. Prior to 0.1.0-alpha.8, OpenTelemetry.Sampler.AWS reads unbounded HTTP response bodies from a configured AWS X-Ray remote sampling endpoint into memory.  AWSXRaySamplerClient.DoRequestAsync called HttpClient.SendAsync followed by ReadAsStringAsync(), which materializes the entire HTTP response body into a single in-memory string with no size limit. The sampling endpoint is configurable via AWSXRayRemoteSamplerBuilder.SetEndpoint (default: http://localhost:2000). An attacker who controls the configured endpoint, or who can intercept traffic to it (MitM), can return an arbitrarily large response body. This causes unbounded heap allocation in the consuming process, leading to high transient memory pressure, garbage-collection stalls, or an OutOfMemoryException that terminates the process. This vulnerability is fixed in 0.1.0-alpha.8."},{"lang":"es","value":"El paquete AWS X-Ray Remote Sampler proporciona un muestreador que puede obtener configuraciones de muestreo de AWS X-Ray. Antes de la versión 0.1.0-alpha.8, OpenTelemetry.Sampler.AWS lee cuerpos de respuesta HTTP ilimitados de un punto final de muestreo remoto de AWS X-Ray configurado en la memoria. AWSXRaySamplerClient.DoRequestAsync llamaba a HttpClient.SendAsync seguido de ReadAsStringAsync(), lo que materializa el cuerpo completo de la respuesta HTTP en una única cadena en memoria sin límite de tamaño. El punto final de muestreo es configurable a través de AWSXRayRemoteSamplerBuilder.SetEndpoint (predeterminado: http://localhost:2000). Un atacante que controla el punto final configurado, o que puede interceptar el tráfico hacia él (MitM), puede devolver un cuerpo de respuesta arbitrariamente grande. Esto causa una asignación de pila ilimitada en el proceso consumidor, lo que lleva a una alta presión de memoria transitoria, bloqueos de la recolección de basura o una OutOfMemoryException que termina el proceso. Esta vulnerabilidad se corrige en la versión 0.1.0-alpha.8."}],"affected":[{"source":"security-advisories@github.com","affectedData":[{"vendor":"open-telemetry","product":"opentelemetry-dotnet-contrib","versions":[{"version":"< 0.1.0-alpha.8","status":"affected"}]}]}],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H","baseScore":5.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"NONE","integrityImpact":"NONE","availabilityImpact":"HIGH"},"exploitabilityScore":2.2,"impactScore":3.6}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-04-23T19:11:43.914906Z","id":"CVE-2026-41173","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"weaknesses":[{"source":"security-advisories@github.com","type":"Secondary","description":[{"lang":"en","value":"CWE-770"}]}],"references":[{"url":"https://github.com/open-telemetry/opentelemetry-dotnet-contrib/pull/4100","source":"security-advisories@github.com"},{"url":"https://github.com/open-telemetry/opentelemetry-dotnet-contrib/security/advisories/GHSA-28xm-prxc-5866","source":"security-advisories@github.com"}]}