OpenTelemetry.Exporter.OpenTelemetryProtocol: Disk retry default temp path enables local blob injection for OTLP Exporter
OpenTelemetry.Exporter.OpenTelemetryProtocol is the OTLP (OpenTelemetry Protocol) exporter implementation. From 1.8.0 to 1.15.2, the OTLP disk retry feature in OpenTelemetry.Exporter.OpenTelemetryProtocol silently fell back to Path.GetTempPath() when OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=disk was set but OTEL_DOTNET_EXPERIMENTAL_OTLP_DISK_RETRY_DIRECTORY_PATH was not configured. The exporter stored and loaded *.blob files under fixed, signal-named subdirectories (traces, metrics, logs) beneath that shared temporary root path. On multi-user systems where the temporary directory is accessible to other local accounts, this allows an attacker to write crafted *.blob files, read *.blob files written by the application between export failures, or deposit numerous or oversized blob files, degrading retry-loop performance or consuming disk space. This vulnerability is fixed in 1.15.3.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-42191
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 7 Nov 2026, 04:00 UTC · Revision 1
Source evidence
OpenTelemetry.Exporter.OpenTelemetryProtocol: Disk retry default temp path enables local blob injection for OTLP Exporter
core-osv · Original sourcePublished 12 May 2026, 19:12 UTC
OpenTelemetry.Exporter.OpenTelemetryProtocol is the OTLP (OpenTelemetry Protocol) exporter implementation. From 1.8.0 to 1.15.2, the OTLP disk retry feature in OpenTelemetry.Exporter.OpenTelemetryProtocol silently fell back to Path.GetTempPath() when OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=disk was set but OTEL_DOTNET_EXPERIMENTAL_OTLP_DISK_RETRY_DIRECTORY_PATH was not configured. The exporter stored and loaded *.blob files under fixed, signal-named subdirectories (traces, metrics, logs) beneath that shared temporary root path. On multi-user systems where the temporary directory is accessible to other local accounts, this allows an attacker to write crafted *.blob files, read *.blob files written by the application between export failures, or deposit numerous or oversized blob files, degrading retry-loop performance or consuming disk space. This vulnerability is fixed in 1.15.3.
osv:CVE-2026-42191
Complete source record
{
"id": "9757ef9aa52846edbeab3aae764830863ad473ffa050f592f105c8fd692d5266",
"url": "https://osv.dev/vulnerability/CVE-2026-42191",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "OpenTelemetry.Exporter.OpenTelemetryProtocol: Disk retry default temp path enables local blob injection for OTLP Exporter",
"summary": "OpenTelemetry.Exporter.OpenTelemetryProtocol is the OTLP (OpenTelemetry Protocol) exporter implementation. From 1.8.0 to 1.15.2, the OTLP disk retry feature in OpenTelemetry.Exporter.OpenTelemetryProtocol silently fell back to Path.GetTempPath() when OTEL_DOTNET_EXPERIMENTAL_OTLP_RETRY=disk was set but OTEL_DOTNET_EXPERIMENTAL_OTLP_DISK_RETRY_DIRECTORY_PATH was not configured. The exporter stored and loaded *.blob files under fixed, signal-named subdirectories (traces, metrics, logs) beneath that shared temporary root path. On multi-user systems where the temporary directory is accessible to other local accounts, this allows an attacker to write crafted *.blob files, read *.blob files written by the application between export failures, or deposit numerous or oversized blob files, degrading retry-loop performance or consuming disk space. This vulnerability is fixed in 1.15.3.",
"evidence": "osv:CVE-2026-42191",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-42191",
"aliases": [
"CVE-2026-42191",
"GHSA-4625-4j76-fww9"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:L"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/open-telemetry/opentelemetry-dotnet",
"type": "GIT",
"events": [
{
"introduced": "fb74013d644d56f44ef89dd57358947bd9f68345"
},
{
"fixed": "d622e6c7c899527638b53a6b06919859f5752add"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "1.8.0"
},
{
"fixed": "1.15.3"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"cpe": "cpe:2.3:a:opentelemetry:opentelemetry.exporter.opentelemetryprotocol:*:*:*:*:*:.net:*:*",
"range": [
{
"introduced": "1.8.0"
},
{
"fixed": "1.15.3"
}
],
"source": "CPE_RANGE"
}
]
}
}
],
"versions": [
"coreunstable-1.15.2-beta.1",
"core-1.15.2",
"coreunstable-1.15.1-beta.1",
"core-1.15.1",
"coreunstable-1.15.0-beta.1",
"core-1.15.0",
"coreunstable-1.14.0-beta.1",
"core-1.14.0",
"core-1.14.0-rc.1",
"coreunstable-1.13.1-beta.1",
"core-1.13.1",
"coreunstable-1.13.0-beta.1",
"core-1.13.0",
"coreunstable-1.12.0-beta.1",
"core-1.12.0",
"coreunstable-1.11.2-beta.1",
"core-1.11.2",
"core-1.11.1",
"coreunstable-1.11.0-beta.1",
"core-1.11.0",
"core-1.11.0-rc.1",
"coreunstable-1.10.0-beta.1",
"core-1.10.0",
"core-1.10.0-rc.1",
"core-1.10.0-beta.1",
"coreunstable-1.9.0-beta.2",
"coreunstable-1.9.0-beta.1",
"core-1.9.0",
"core-1.9.0-rc.1",
"coreunstable-1.9.0-alpha.2",
"coreunstable-1.9.0-alpha.1",
"core-1.9.0-alpha.1",
"core-1.8.0",
"Instrumentation.Http-1.8.1",
"Instrumentation.AspNetCore-1.8.1",
"Instrumentation.SqlClient-1.8.0-beta.1",
"Instrumentation.Http-1.8.0",
"Instrumentation.GrpcNetClient-1.8.0-beta.1",
"Instrumentation.AspNetCore-1.8.0"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-42191.json"
}
}
],
"modified": "2026-10-28T02:30:49.500457472Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42191.json",
"https://github.com/open-telemetry/opentelemetry-dotnet/security/advisories/GHSA-4625-4j76-fww9",
"https://nvd.nist.gov/vuln/detail/CVE-2026-42191",
"https://github.com/open-telemetry/opentelemetry-dotnet/pull/7106"
],
"provider_metadata": {
"cwe_ids": [
"CWE-379"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/42xxx/CVE-2026-42191.json"
}
},
"related_cves": [
{
"value": "CVE-2026-42191",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 517958,
"published_at": "2026-05-12T19:12:03.221+00:00"
}