Skip to main content
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain read access to observability backend
  2. Exploit
    Inspect database operation spans
  3. Execution
    Read db.user account names
  4. Impact
    Map service topology and naming patterns

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A09:2025 - Security Logging & Alerting Failures
ASVS 5.0
V16 - Security Logging and Error Handling Log data sanitization
Exploitation Conditions

Requires a deployment running any of the affected packages below their fixed versions (@opentelemetry/instrumentation-cassandra-driver <0.66.0, -knex <0.65.0, -mongoose/-mysql/-mysql2 <0.67.0, -oracledb <0.46.0, -pg <0.73.0, -tedious <0.40.0) with database connections configured using a username, AND those traces being exported to an observability backend. The db.user attribute is emitted unconditionally and is NOT gated by the enhancedDatabaseReporting flag or any other opt-in, so default configurations are affected. Limiting factors: the exposure is confined to confidentiality of database account names (no passwords, data, or query contents), and an actor must already have read access to the telemetry pipeline or backend to retrieve the leaked usernames - there is no direct network-triggered exploit against the application itself.

Impact

This is a low-to-moderate priority information-disclosure issue (CWE-532) that scores CVSS 5.8 largely because of the Scope-change (S:C) and network (AV:N) metrics, not because of direct attacker-driven compromise. The provided vector (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N) reflects that the affected OpenTelemetry instrumentation packages automatically emit the database connection username as the db.user span attribute by default, sending it across a trust boundary into the configured observability backend - hence S:C and C:L, with no integrity or availability impact. No EPSS score, KEV listing, POC, or SSVC data was supplied; exploitation status is 'no public exploit identified at time of analysis'. Note a conflict worth flagging: the AV:N/PR:N framing implies remote unauthenticated 'exploitation', but in practice this is passive leakage - an actor still needs read access to the telemetry backend to obtain the usernames, so the realistic privilege barrier is higher than PR:N suggests. The disclosed data (database account names) is low-sensitivity metadata, not credentials or secrets, so the true impact is reconnaissance value (topology, role, environment hints) rather than direct account compromise. Verify fixed versions against the GHSA advisory before remediation planning.

Exploit ScenarioDerived

An insider or attacker who has gained read access to the organization's observability backend (e.g., a tracing/APM SaaS, Jaeger, or Grafana Tempo) inspects spans emitted by a Node.js service and reads the db.user attribute present on every database operation. From the account names they infer service-to-database topology, environment segregation (e.g., svc_billing_prod), and naming conventions useful for crafting later targeted attacks. No public exploit code is required or identified; the data is exposed automatically because the attribute is emitted by default.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 02, 2026

Database account usernames are silently emitted into telemetry traces by the OpenTelemetry JavaScript Contrib database instrumentation packages, which attach the db.user span attribute to every instrumented database operation by default, independent of the enhancedDatabaseReporting opt-in setting. Every deployment running the affected packages below their fixed versions - @opentelemetry/instrumentation-cassandra-driver before 0.66.0, -knex before 0.65.0, -mongoose/-mysql/-mysql2 before 0.67.0, -oracledb before 0.46.0, -pg before 0.73.0, and -tedious before 0.40.0 - that exports traces to a shared observability backend therefore leaks its database usernames, and indirectly hints about service topology, role assignment, and environment naming, to any actor with read access to that telemetry pipeline. Scored CVSS 5.8 (CWE-532), this is a default-configuration information-disclosure weakness rather than a remotely triggerable attacker compromise: no public exploit code has been identified at time of analysis, there is no confirmed active exploitation, and the only credential material exposed is account names - not passwords, query contents, or result data.

RemediationAI

Upgrade to the fixed releases, which are vendor-released patches: @opentelemetry/instrumentation-cassandra-driver 0.66.0, @opentelemetry/instrumentation-knex 0.65.0, @opentelemetry/instrumentation-mongoose, -mysql and -mysql2 0.67.0, @opentelemetry/instrumentation-oracledb 0.46.0, @opentelemetry/instrumentation-pg 0.73.0, and @opentelemetry/instrumentation-tedious 0.40.0, per advisory GHSA-qqmp-wf37-98f9 and the upstream changes in PR #3585 (commits 27e172a9e0d549559056ccd58f27d13467454156 and 5b7dd0e102e940d653e04b08b5a1b721a8271037). These are minor-version bumps within the 0.x line, so verify your instrumentation dependency tree and any pinned transitive versions, since a lockfile pin can keep the vulnerable version in place. If immediate upgrade is not possible, strip the attribute before it leaves the process by registering a custom SpanProcessor in the OpenTelemetry Node SDK that deletes db.user from every ended span, and mirror that control at the collection layer with the OTel Collector attributes or redaction processor configured to remove db.user - the trade-off is that you permanently lose database-identity attribution that some teams use for per-account dashboards and incident triage, and the SDK-side filter must be deployed to every instrumented service to be effective, while the collector-side filter only protects data that actually flows through that collector. Because exposure requires backend read access, also tighten who can query the observability platform and lock down OTLP receiver endpoints (authentication, network policy, no public exposure), which reduces the blast radius but does not remove the leaked data that is already stored; the previously exported account names should be treated as disclosed and any dashboards, saved queries, or archives containing them purged or access-restricted. No vendor-released patch is required beyond the version upgrades listed, and no public exploit code has been identified for this default-configuration disclosure issue.

Affected VersionsENISA

instrumentation-cassandra-driver < 0.66.0
instrumentation-pg < 0.73.0
instrumentation-tedious < 0.40.0
instrumentation-mongoose < 0.67.0
instrumentation-knex < 0.65.0
opentelemetry-js-contrib < 27e172a9e0d549559056ccd58f27d13467454156
instrumentation-mysql < 0.67.0
instrumentation-mysql2 < 0.67.0
instrumentation-oracledb < 0.46.0

Affected Packages

npm @opentelemetry/instrumentation-cassandra-driver fix: 0.66.0
npm @opentelemetry/instrumentation-knex fix: 0.65.0
npm @opentelemetry/instrumentation-mongoose fix: 0.67.0
npm @opentelemetry/instrumentation-mysql fix: 0.67.0
npm @opentelemetry/instrumentation-mysql2 fix: 0.67.0
npm @opentelemetry/instrumentation-oracledb fix: 0.46.0
npm @opentelemetry/instrumentation-pg fix: 0.73.0
npm @opentelemetry/instrumentation-tedious fix: 0.40.0
euvd instrumentation_cassandra_driver fix: 0.66.0
euvd instrumentation_knex fix: 0.65.0
euvd instrumentation_mongoose fix: 0.67.0
euvd instrumentation_mysql fix: 0.67.0
euvd instrumentation_mysql2 fix: 0.67.0
euvd instrumentation_oracledb fix: 0.46.0
euvd instrumentation_pg fix: 0.73.0
euvd instrumentation_tedious fix: 0.40.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 16 packages in npm, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

OpenTelemetry JS Contrib supplies auto-instrumentation libraries that monkey-patch popular JavaScript database drivers (mysql, mysql2, pg, mongoose, knex, cassandra-driver, oracledb, tedious) so that each instrumented operation produces a span enriched with OpenTelemetry semantic-convention attributes such as db.system, db.name, db.statement, and db.user. The root cause maps to CWE-532 (Insertion of Sensitive Information into Log/Telemetry Output): the instrumentation set db.user from the connection configuration unconditionally instead of gating it behind enhancedDatabaseReporting, the flag that normally governs capture of richer, potentially sensitive database detail such as query text and parameters. Because span attributes are transmitted by OTLP exporters to whatever observability platform is configured (Jaeger, Tempo, Datadog, Honeycomb, OTel Collector backends, etc.) and are typically retained far longer than application logs, the leaked account names persist in dashboards, traces, and archives. The CVSS vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N reflects that the confidentiality impact lands on the downstream telemetry system rather than the instrumented application itself (hence the Scope change), with low confidentiality impact and no integrity or availability effect; the referenced upstream fixes are PR #3585 and commits 27e172a9e0d549559056ccd58f27d13467454156 and 5b7dd0e102e940d653e04b08b5a1b721a8271037, and CPE data confirms all nine coord-inates (the opentelemetry-js-contrib umbrella project plus each individual @opentelemetry/instrumentation-* package) as the affected namespace.

Know when Opentelemetry gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 5.8 MEDIUM
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
vuln.today AI 5.8 MEDIUM

Username is emitted automatically with no privileges or user interaction (PR:N/UI:N), crosses into a separate observability system (S:C), and only low-sensitivity account names are exposed (C:L, I/A:N).

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat 5.3 MEDIUM

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Oct 02, 2026 - 21:03 EUVD

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
widely-used OpenTelemetry Node.js DB instrumentation, but requires OTel adoption
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

29
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +29
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy