{"api_version":"1","generated_at":"2026-10-02T21:59:51+00:00","cve":"CVE-2026-104872","urls":{"html":"https://cve.report/CVE-2026-104872","api":"https://cve.report/api/cve/CVE-2026-104872.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-104872","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-104872"},"summary":{"title":"Multiple @opentelemetry/instrumentation-* packages expose database username via unconditional db.user span attribute","description":"OpenTelemetry JavaScript Contrib provides instrumentation libraries for collecting telemetry from JavaScript applications. Prior to versions 0.66.0 of @opentelemetry/instrumentation-cassandra-driver, 0.65.0 of @opentelemetry/instrumentation-knex, 0.67.0 of @opentelemetry/instrumentation-mongoose, @opentelemetry/instrumentation-mysql, and @opentelemetry/instrumentation-mysql2, 0.46.0 of @opentelemetry/instrumentation-oracledb, 0.73.0 of @opentelemetry/instrumentation-pg, and 0.40.0 of @opentelemetry/instrumentation-tedious, the packages add the database connection username to every instrumented database operation as the db.user span attribute. The attribute is emitted by default and is not controlled by enhancedDatabaseReporting or another opt-in setting. Configured observability backends therefore receive database account names that may expose service topology, role or environment information, and account naming patterns. This issue is fixed in versions 0.66.0, 0.65.0, 0.67.0, 0.46.0, 0.73.0, and 0.40.0 of the respective packages.","state":"PUBLISHED","assigner":"GitHub_M","published_at":"2026-10-02 20:17:01","updated_at":"2026-10-02 20:17:01"},"problem_types":["CWE-532","CWE-532 CWE-532: Insertion of Sensitive Information into Log File"],"metrics":[{"version":"3.1","source":"security-advisories@github.com","type":"Secondary","score":"5.8","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N","baseScore":5.8,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"5.8","severity":"MEDIUM","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N","data":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.8,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N","version":"3.1"}}],"references":[{"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/security/advisories/GHSA-qqmp-wf37-98f9","name":"https://github.com/open-telemetry/opentelemetry-js-contrib/security/advisories/GHSA-qqmp-wf37-98f9","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/5b7dd0e102e940d653e04b08b5a1b721a8271037","name":"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/5b7dd0e102e940d653e04b08b5a1b721a8271037","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/27e172a9e0d549559056ccd58f27d13467454156","name":"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/27e172a9e0d549559056ccd58f27d13467454156","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/pull/3585","name":"https://github.com/open-telemetry/opentelemetry-js-contrib/pull/3585","refsource":"security-advisories@github.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-104872","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-104872","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"open-telemetry","product":"opentelemetry-js-contrib","version":"affected < 27e172a9e0d549559056ccd58f27d13467454156","platforms":[]},{"source":"CNA","vendor":"@opentelemetry","product":"instrumentation-cassandra-driver","version":"affected < 0.66.0","platforms":[]},{"source":"CNA","vendor":"@opentelemetry","product":"instrumentation-knex","version":"affected < 0.65.0","platforms":[]},{"source":"CNA","vendor":"@opentelemetry","product":"instrumentation-mongoose","version":"affected < 0.67.0","platforms":[]},{"source":"CNA","vendor":"@opentelemetry","product":"instrumentation-mysql","version":"affected < 0.67.0","platforms":[]},{"source":"CNA","vendor":"@opentelemetry","product":"instrumentation-mysql2","version":"affected < 0.67.0","platforms":[]},{"source":"CNA","vendor":"@opentelemetry","product":"instrumentation-oracledb","version":"affected < 0.46.0","platforms":[]},{"source":"CNA","vendor":"@opentelemetry","product":"instrumentation-pg","version":"affected < 0.73.0","platforms":[]},{"source":"CNA","vendor":"@opentelemetry","product":"instrumentation-tedious","version":"affected < 0.40.0","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"product":"opentelemetry-js-contrib","vendor":"open-telemetry","versions":[{"status":"affected","version":"< 27e172a9e0d549559056ccd58f27d13467454156"}]},{"product":"instrumentation-cassandra-driver","vendor":"@opentelemetry","versions":[{"status":"affected","version":"< 0.66.0"}]},{"product":"instrumentation-knex","vendor":"@opentelemetry","versions":[{"status":"affected","version":"< 0.65.0"}]},{"product":"instrumentation-mongoose","vendor":"@opentelemetry","versions":[{"status":"affected","version":"< 0.67.0"}]},{"product":"instrumentation-mysql","vendor":"@opentelemetry","versions":[{"status":"affected","version":"< 0.67.0"}]},{"product":"instrumentation-mysql2","vendor":"@opentelemetry","versions":[{"status":"affected","version":"< 0.67.0"}]},{"product":"instrumentation-oracledb","vendor":"@opentelemetry","versions":[{"status":"affected","version":"< 0.46.0"}]},{"product":"instrumentation-pg","vendor":"@opentelemetry","versions":[{"status":"affected","version":"< 0.73.0"}]},{"product":"instrumentation-tedious","vendor":"@opentelemetry","versions":[{"status":"affected","version":"< 0.40.0"}]}],"descriptions":[{"lang":"en","value":"OpenTelemetry JavaScript Contrib provides instrumentation libraries for collecting telemetry from JavaScript applications. Prior to versions 0.66.0 of @opentelemetry/instrumentation-cassandra-driver, 0.65.0 of @opentelemetry/instrumentation-knex, 0.67.0 of @opentelemetry/instrumentation-mongoose, @opentelemetry/instrumentation-mysql, and @opentelemetry/instrumentation-mysql2, 0.46.0 of @opentelemetry/instrumentation-oracledb, 0.73.0 of @opentelemetry/instrumentation-pg, and 0.40.0 of @opentelemetry/instrumentation-tedious, the packages add the database connection username to every instrumented database operation as the db.user span attribute. The attribute is emitted by default and is not controlled by enhancedDatabaseReporting or another opt-in setting. Configured observability backends therefore receive database account names that may expose service topology, role or environment information, and account naming patterns. This issue is fixed in versions 0.66.0, 0.65.0, 0.67.0, 0.46.0, 0.73.0, and 0.40.0 of the respective packages."}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.8,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"CHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-532","description":"CWE-532: Insertion of Sensitive Information into Log File","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-02T19:50:24.868Z","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M"},"references":[{"name":"https://github.com/open-telemetry/opentelemetry-js-contrib/security/advisories/GHSA-qqmp-wf37-98f9","tags":["x_refsource_CONFIRM"],"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/security/advisories/GHSA-qqmp-wf37-98f9"},{"name":"https://github.com/open-telemetry/opentelemetry-js-contrib/pull/3585","tags":["x_refsource_MISC"],"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/pull/3585"},{"name":"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/27e172a9e0d549559056ccd58f27d13467454156","tags":["x_refsource_MISC"],"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/27e172a9e0d549559056ccd58f27d13467454156"},{"name":"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/5b7dd0e102e940d653e04b08b5a1b721a8271037","tags":["x_refsource_MISC"],"url":"https://github.com/open-telemetry/opentelemetry-js-contrib/commit/5b7dd0e102e940d653e04b08b5a1b721a8271037"}],"source":{"advisory":"GHSA-qqmp-wf37-98f9","discovery":"UNKNOWN"},"title":"Multiple @opentelemetry/instrumentation-* packages expose database username via unconditional db.user span attribute"}},"cveMetadata":{"assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","assignerShortName":"GitHub_M","cveId":"CVE-2026-104872","datePublished":"2026-10-02T19:50:24.868Z","dateReserved":"2026-10-02T14:59:11.775Z","dateUpdated":"2026-10-02T19:50:24.868Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-02 20:17:01","lastModifiedDate":"2026-10-02 20:17:01","problem_types":["CWE-532","CWE-532 CWE-532: Insertion of Sensitive Information into Log File"],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N","baseScore":5.8,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"CHANGED","confidentialityImpact":"LOW","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":3.9,"impactScore":1.4}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"104872","Ordinal":"1","Title":"Multiple @opentelemetry/instrumentation-* packages expose databa","CVE":"CVE-2026-104872","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"104872","Ordinal":"1","NoteData":"OpenTelemetry JavaScript Contrib provides instrumentation libraries for collecting telemetry from JavaScript applications. Prior to versions 0.66.0 of @opentelemetry/instrumentation-cassandra-driver, 0.65.0 of @opentelemetry/instrumentation-knex, 0.67.0 of @opentelemetry/instrumentation-mongoose, @opentelemetry/instrumentation-mysql, and @opentelemetry/instrumentation-mysql2, 0.46.0 of @opentelemetry/instrumentation-oracledb, 0.73.0 of @opentelemetry/instrumentation-pg, and 0.40.0 of @opentelemetry/instrumentation-tedious, the packages add the database connection username to every instrumented database operation as the db.user span attribute. The attribute is emitted by default and is not controlled by enhancedDatabaseReporting or another opt-in setting. Configured observability backends therefore receive database account names that may expose service topology, role or environment information, and account naming patterns. This issue is fixed in versions 0.66.0, 0.65.0, 0.67.0, 0.46.0, 0.73.0, and 0.40.0 of the respective packages.","Type":"Description","Title":"Multiple @opentelemetry/instrumentation-* packages expose databa"}]}}}