CVE-2026-73657
ŚrednieCVSS 4.2Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 5 - wyżej niż 5% wszystkich znanych CVE
Streszczenie
Trigger.dev od wersji 4.4.2 do 4.5.0-rc.4 ma podatność w endpointcie POST /api/v1/runs/:runParam/replay. Zapytanie do bazy danych nie filtruje po runtimeEnvironmentId, co pozwala dowolnemu kluczowi API środowiska na odtworzenie przebiegu innej dzierżawy przez friendlyId. Dodatkowo, przy użyciu payloadType "application/store", dane payload mogą być nadpisane przez atakującego, co prowadzi do wykonania nieautoryzowanych działań.
Ocena ryzyka
Atakujący może zużywać zasoby ofiary, powtarzać skutki uboczne i potencjalnie wykonywać złośliwy kod w kontekście zadania ofiary, co może prowadzić do naruszenia poufności i integralności danych.
Rekomendacja
Zaktualizuj Trigger.dev do wersji 4.5.0-rc.4 lub nowszej. Ogranicz dostęp do endpointu replay i stosuj ścisłą kontrolę uprawnień dla kluczy API.
Inne podatności w Trigger.dev
Zobacz wszystkie- CVE-2026-73656Krytyczne
Trigger.dev to platforma do budowania i wdrażania w pełni zarządzanych agentów AI i workflow. Przed wersją 4.5.6, POST /api/v1/deployments/:deploymentId/background-workers wywołuje CreateDeploymentBackgroundWorkerServiceV4.call() w apps/webapp/app/v3/services/createDeploymentBackgroundWorkerV4.server.ts, gdzie workerDeployment.findFirst() wybiera wdrożenie po friendlyId bez predykatu environmentId. Osoba wywołująca z ważnym kluczem API dla jednego projektu może przesłać identyfikator wdrożenia innego projektu, powiązać worker tła należący do atakującego z wdrożeniem ofiary i przenieść wdrożenie ofiary ze stanu BUILDING do DEPLOYING. Ten problem jest naprawiony w wersji 4.5.6.
- CVE-2026-92773Wysokie
Trigger.dev przed wersją 4.6.0 nie weryfikuje, czy uwierzytelniony użytkownik kontroluje instalację GitHub App przed powiązaniem jej ze swoją organizacją. Atakujący mogą przejąć instalację GitHub App innego użytkownika, odtwarzając pliki cookie stanu i podając sekwencyjne identyfikatory instalacji, uzyskując nieautoryzowany dostęp do repozytoriów ofiary.
- CVE-2026-85651Wysokie
Trigger.dev przed wersją 4.5.2 nie weryfikuje przynależności środowiska podczas operacji ponownego odtwarzania uruchomień, co pozwala uwierzytelnionym atakującym na wstrzykiwanie zadań do dowolnych środowisk. Atakujący mogą odtwarzać własne uruchomienia w środowiskach innych organizacji lub projektów, aby zużywać zasoby ofiary i zanieczyszczać historię uruchomień.
- CVE-2026-85650Średnie
Trigger.dev przed wersją 4.5.2 zawiera podatność na fałszowanie żądań po stronie serwera (SSRF) w adresach URL dostarczania kanałów alertów webhook, które są pobierane bez walidacji lub ochrony SSRF. Uwierzytelnieni użytkownicy z członkostwem w organizacji mogą tworzyć kanały alertów z adresami URL kierującymi do wewnętrznych usług i punktów końcowych metadanych, umożliwiając serwerowi wysyłanie żądań POST do ograniczonych zasobów.
- CVE-2026-73659Wysokie
Trigger.dev od wersji 4.4.2 do 4.5.0 ma podatność w trasach presign pakietów, gdzie nazwa pliku kontrolowana przez wywołującego jest przekazywana do generowania presigned URL, umożliwiając trawersację katalogów i dostęp do payloadów zadań innych organizacji. Klucz API projektu może odczytać lub nadpisać dane innych organizacji w środowiskach self-hosted.
- CVE-2026-73658Wysokie
Trigger.dev od wersji 4.4.2 do 4.5.0-rc.5 ma podatność w Aws4FetchClient.buildUrl() i presign(), gdzie klucze pakietów kontrolowane przez użytkownika są przypisywane do URL.pathname, a trasa akceptuje parametry bez odrzucania segmentów kropek i bez walidacji własności zasobów. Normalizacja ścieżki WHATWG usuwa segmenty .. przed podpisaniem, umożliwiając uzyskanie presigned URL dla kluczy innego dzierżawcy i odczyt lub nadpisanie payloadów zadań.
- CVE-2026-73655Wysokie
Trigger.dev przed wersją 4.5.2 zawiera podatność w funkcji addGoogleStrategy(), która przekazuje adres e-mail z profilu Google do findOrCreateGoogleUser() bez wymagania potwierdzenia email_verified. Gdy istnieje konto z tym samym adresem e-mail, atakujący może przejąć konto ofiary, używając niezweryfikowanego adresu e-mail z własnego profilu Google.
- CVE-2026-73654Wysokie
Trigger.dev od wersji 3.3.8 do 4.5.6 zawiera podatność w punkcie końcowym PUT /api/v1/runs/:runId/metadata, gdzie wartości operation.key są przekazywane do new JSONHeroPath(operation.key).set() bez odrzucania niebezpiecznych segmentów ścieżek, takich jak constructor i prototype. Osoba z normalnym kluczem API środowiska może zanieczyścić Object.prototype w procesie webapp, co prowadzi do uszkodzenia zapytań Prisma, etykiet Prometheus, złamania uwierzytelniania innych dzierżawców i awarii całego procesu.
Oryginalny opis (angielski, źródło NVD)
Trigger.dev is a platform for building and deploying fully managed AI agents and workflows. From 4.4.2 until 4.5.0-rc.4, `POST /api/v1/runs/:runParam/replay` in apps/webapp/app/routes/api.v1.runs.$runParam.replay.ts uses `prisma.taskRun.findUnique({ where: { friendlyId: runParam } })` without a runtimeEnvironmentId filter, then ReplayTaskRunService in apps/webapp/app/v3/services/replayTaskRun.server.ts replays the selected run in the victim environment. Any valid environment API key can therefore replay another tenant's run by friendlyId, consuming victim resources and repeating side effects; when `payloadType: "application/store"` is used, overrideExistingPayloadPacket() calls conditionallyImportPacket() on existingTaskRun.payload without an integrity check, so payload bytes overwritten through a separate object-store path-traversal vulnerability become attacker-controlled input to the victim task. This issue is fixed in version 4.5.0-rc.4.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

