Skip to content

fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] - #1511

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-opentelemetry-sdk-node-vulnerability
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/npm-opentelemetry-sdk-node-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Aug 26, 2026 •

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@opentelemetry/sdk-node (source) ^0.52.0 → ^0.217.0 age confidence

Prometheus exporter process crash via malformed HTTP request

CVE-2026-44902 / GHSA-q7rr-3cgh-j5r3

More information

Details

Summary

A single malformed HTTP request crashes any Node.js process running the OpenTelemetry JS Prometheus exporter. The metrics endpoint (default 0.0.0.0:9464) has no error handling around URL parsing, so a request with an invalid URI causes an uncaught TypeError that terminates the process.

You are affected by this vulnerability if either of the following apply to your application:

  • you directly use @opentelemetry/exporter-prometheus in your code through its built-in server.
  • your OTEL_METRICS_EXPORTER environment variable includes prometheus AND
    • you use @opentelemetry/sdk-node
    • you use @opentelemetry/auto-instrumentations-node via --require @opentelemetry/auto-instrumentations-node/register/--import @opentelemetry/auto-instrumentations-node/register
Impact

Denial of service. Any application using the OpenTelemetry Prometheus exporter’s built-in server can be crashed by a single unauthenticated network packet sent to the metrics port. No authentication, special privileges, or prior access is required.

Remediation
Update to the fixed version

Update @opentelemetry/exporter-prometheus and @opentelemetry/sdk-node to version 0.217.0 or later.
Update @opentelemetry/auto-instrumentations-node to version 0.75.0 or later.

This release adds proper error handling around the URL constructor, returning an HTTP 400 response on parse failure rather than allowing the exception to propagate and crash the process.

npm install @opentelemetry/exporter-prometheus@latest
Do Not Expose the Endpoint to Untrusted Users

[!IMPORTANT]
The following mitigations reduce exposure but do not fully remediate the vulnerability. Any client that can reach the metrics endpoint - including your own Prometheus scraper host if compromised - could still trigger the crash. Updating to 0.217.0 is the recommended resolution.

If updating is not immediately feasible, restrict access to the metrics endpoint so that it is not reachable by untrusted or unauthenticated network clients. For example:

  • Bind to localhost only by setting the host option to 127.0.0.1 when configuring the PrometheusExporter, so the port is not exposed on public or shared network interfaces

  • Use a firewall or network policy to restrict access to port 9464 (or whichever port you have configured) to only trusted Prometheus scrape hosts

  • Place the endpoint behind a reverse proxy that filters or validates incoming requests before they reach the exporter

Details

In PrometheusExporter.ts, the _requestHandler calls new URL(request.url, this._baseUrl) without any error handling. Node's HTTP parser accepts absolute-form URIs (e.g. http://) for proxy compatibility, including malformed ones. When request.url is "http://", the URL constructor throws TypeError: Invalid URL. Since there is no try-catch in the handler, the exception propagates as an uncaught exception and crashes the process.

The Prometheus metrics endpoint is unauthenticated by design (Prometheus scrapes it) and binds to 0.0.0.0 by default, meaning it is reachable by any network client that can connect to the metrics port.

Proof of Concept

Start any Node.js application with the Prometheus exporter running on the default port 9464, then send a single raw TCP packet:

echo -ne 'GET http:// HTTP/1.1\r\nHost: localhost\r\n\r\n' | nc localhost 9464

The process crashes immediately with:

TypeError: Invalid URL
    at new URL (...)
    at PrometheusExporter._requestHandler (...)

Severity

  • CVSS Score: 7.5 / 10 (High)
  • Vector String: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

open-telemetry/opentelemetry-js (@​opentelemetry/sdk-node)

v0.217.0

Compare Source

v0.216.0

Compare Source

v0.215.0

Compare Source

v0.214.0

Compare Source

v0.213.0

Compare Source

v0.212.0

Compare Source

v0.211.0

Compare Source

v0.210.0

Compare Source

v0.209.0

Compare Source

v0.208.0

Compare Source

v0.207.0

Compare Source

v0.206.0

Compare Source

v0.205.0

Compare Source

v0.204.0

Compare Source

v0.203.0

Compare Source

v0.202.0

Compare Source

v0.201.1

Compare Source

v0.201.0

Compare Source

v0.200.0

Compare Source

v0.57.2

Compare Source

v0.57.1

Compare Source

v0.57.0

Compare Source

v0.56.0

Compare Source

v0.55.0

Compare Source

v0.54.2

Compare Source

v0.54.1

Compare Source

v0.54.0

Compare Source

v0.53.0

Compare Source

v0.52.1

Compare Source


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 26, 2026 •

Copy link
Copy Markdown

Deploying node-js-server with  Cloudflare Pages  Cloudflare Pages

Latest commit: ecc5958
Status: ✅  Deploy successful!
Preview URL: https://87665579.node-js-server.pages.dev
Branch Preview URL: https://renovate-npm-opentelemetry-s.node-js-server.pages.dev

View logs

@mergify

mergify Bot commented Aug 26, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.221.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Aug 26, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 5f6f30d to 41d5b62 Compare August 26, 2026 23:50
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 2, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 41d5b62 to 247c5f0 Compare September 2, 2026 21:30
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 3, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch 2 times, most recently from e4689fc to 9d616fe Compare September 3, 2026 15:13
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 3, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 9d616fe to 8107e47 Compare September 4, 2026 03:03
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 4, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 8107e47 to 8033b35 Compare September 7, 2026 22:31
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 7, 2026
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 8, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch 2 times, most recently from 51fdaaa to 107afb6 Compare September 9, 2026 19:52
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 9, 2026
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 10, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch 2 times, most recently from b14e282 to 72805dd Compare September 10, 2026 19:44
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 10, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 72805dd to 7927d29 Compare September 11, 2026 00:55
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 11, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 7927d29 to 4574d52 Compare September 15, 2026 10:50
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 15, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 4574d52 to d62d098 Compare September 16, 2026 02:08
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 16, 2026
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 16, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from d62d098 to e4a5cbc Compare September 16, 2026 17:01
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 16, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch 2 times, most recently from af88a2d to cf01fa0 Compare September 17, 2026 20:34
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 17, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from cf01fa0 to 5d9daf7 Compare September 18, 2026 02:00
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 18, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 5d9daf7 to df310b9 Compare September 18, 2026 23:17
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 18, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from df310b9 to e3c98ec Compare September 19, 2026 02:33
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 19, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from e3c98ec to 8ba713b Compare September 23, 2026 22:58
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 23, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 8ba713b to 7fc6b48 Compare September 24, 2026 05:47
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 24, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 7fc6b48 to 91e45ee Compare September 25, 2026 04:30
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] Sep 25, 2026
@renovate renovate Bot changed the title fix(deps): update dependency @opentelemetry/sdk-node to ^0.222.0 [security] fix(deps): update dependency @opentelemetry/sdk-node to ^0.217.0 [security] Sep 25, 2026
@renovate
renovate Bot force-pushed the renovate/npm-opentelemetry-sdk-node-vulnerability branch from 91e45ee to ecc5958 Compare September 25, 2026 17:55

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants