---
id: "CVE-2026-114086"
kind: "vulnerability"
aliases: ["CVE-2026-114086"]
title: "Trigger.dev: unauthenticated POST injects data into run realtime streams"
severity: "medium"
cvss: 6.9
epss: 0.00275
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["node", "package", "realtime", "self-hosted", "trigger.dev"]
not_affected_if: ["managed-hosting", "realtime-api-not-exposed", "version-4.5.5-or-later"]
published_at: "2026-10-21T01:17:33+00:00"
first_seen_at: "2026-10-23T21:57:27+00:00"
updated_at: "2026-10-25T03:40:13+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-114086", "first_seen_at": "2026-10-23T21:57:27+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-114086", "first_seen_at": "2026-10-24T13:15:55+00:00"}]
---

# Trigger.dev: unauthenticated POST injects data into run realtime streams

Trigger.dev before 4.5.5 has a missing authentication check on the realtime streams POST handler. An unauthenticated attacker who guesses a run friendlyId can inject arbitrary data into any environment's realtime stream, including production.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed Trigger.dev version with `npx trigger.dev@latest --version` or by reading the `@trigger.dev/sdk` version in `package.json`.
- Confirm whether the self-hosted instance exposes the `/realtime/v1/streams/` route to the internet.

## Fix

- Upgrade Trigger.dev to `4.5.5` or later.
- Until the upgrade is done, restrict access to `/realtime/v1/streams/` at the proxy or network layer.

## Timeline

- 2026-10-23T21:57:27+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-114086
- 2026-10-24T13:15:55+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-114086

## From the sources

Trigger.dev before 4.5.5 contains a missing authentication vulnerability in the realtime streams POST handler that allows unauthenticated attackers to inject data into run streams. Attackers can send POST requests to /realtime/v1/streams/:runId/:streamId with a predictable run friendlyId to inject arbitrary data into any environment's realtime stream, including production.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
