Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify victim's registered Trigger.dev email
-
DeliveryCreate Google account with matching unverified email
-
ExploitInitiate Google OAuth login on target Trigger.dev instance
-
Executionemail_verified assertion bypassed in addGoogleStrategy()
-
PersistAttacker Google authIdentifier written to victim account
-
ImpactAttacker authenticated as victim with full account access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Authentication mechanism validation
MITRE ATT&CK
2 techniques across 2 tactics: Defense Evasion, Initial Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Google OAuth authentication must be enabled on the Trigger.dev instance ( |
| Impact | The CVSS 3.1 score of 7.4 High with vector AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N is well-calibrated: the High attack complexity (AC:H) reflects that the attacker must know the victim's registered email and must be able to present a Google account with that exact unverified email, which is a non-trivial prerequisite. The PR:N assignment is accurate because no Trigger.dev credentials are needed by the attacker - the exploit occurs entirely through the OAuth callback. The C:H/I:H impact is appropriate given that a successful attack yields complete account takeover including access to all workflows, API keys, connected integrations, and agent configurations. EPSS data was not provided, so quantitative exploitation probability cannot be assessed. CISA KEV status is not confirmed, and no public POC has been identified at time of analysis. Despite the lack of confirmed exploitation, the severity of the impact (full account takeover), the network-accessible attack surface, and the absence of any required victim interaction make this a genuine priority for Trigger.dev operators using Google OAuth. The primary real-world limiting factor is the prerequisite of having a Google account with an unverified matching email, which reduces opportunistic exploitation but does not eliminate targeted attacks. |
| Exploit ScenarioDerived | An attacker identifies the email address of a Trigger.dev user whose account is not yet linked to a Google OAuth identity - discoverable through phishing, data breaches, or publicly known email addresses. The attacker creates or uses a Google account with that same email address left in an unverified state, then initiates the Google OAuth login flow on the target Trigger.dev instance. Since the webapp does not enforce |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 13, 2026
Account takeover in Trigger.dev before 4.5.2 allows an unauthenticated remote attacker to hijack any existing user account that has not yet linked a Google OAuth identity, by presenting a Google profile whose email is unverified but matches the victim's registered address. The addGoogleStrategy() function in apps/webapp/app/services/googleAuth.server.ts omits the email_verified assertion before calling findOrCreateGoogleUser(), causing the server to bind the attacker's Google authIdentifier to the victim's account when the conditional existingEmailUser && !existingUser is satisfied. No public exploit has been identified at time of analysis, but the fix is available in v4.5.2 and the attack requires no Trigger.dev credentials.
RemediationAI
Vendor-released patch: Trigger.dev v4.5.2 resolves this vulnerability. Upgrade immediately via the project's standard update process; the release is available at https://github.com/triggerdotdev/trigger.dev/releases/tag/v4.5.2 and the specific fix is at commit 34b1a181c2a1d33a53ebab88f84b05f81fea4254 (PR #4199). For operators unable to apply the patch immediately, the only effective compensating control is to disable Google OAuth login entirely in the Trigger.dev configuration, which removes the vulnerable code path at the cost of forcing all users to authenticate via other configured methods (email/password or alternative SSO). There is no partial mitigation that preserves Google OAuth while preventing this bypass without applying the patch. The vendor advisory is at https://github.com/triggerdotdev/trigger.dev/security/advisories/GHSA-rp8c-h4xr-w9qv.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Trigger.dev is a Node.js/TypeScript platform for building managed AI agents and background workflows, running as a self-hosted or cloud webapp. The Google OAuth integration uses a Passport.js-style strategy (addGoogleStrategy()) that receives a Google profile object after the OAuth callback. Google's profile payload includes an email_verified boolean field indicating whether the account email has been confirmed; Google permits OAuth tokens to be issued for accounts with unverified addresses in certain flows. The vulnerable code path trusts the raw profile.emails[0].value without asserting profile.emails[0].verified === true, then passes it directly to findOrCreateGoogleUser() in apps/webapp/app/models/user.server.ts. The account-linking branch - activated when an existing email-matched user is found but no Google-linked identity exists - overwrites the account's Google authIdentifier with the attacker-controlled value. Root cause class is CWE-287 (Improper Authentication): the system authenticates an identity claim (email address) that has not been cryptographically verified by the identity provider. CPE: cpe:2.3:a:triggerdotdev:trigger.dev:*:*:*:*:*:*:*:* covering all versions before 4.5.2.
Know when Trigger Dev 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
AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
AC:H reflects the prerequisite of controlling a Google account with an unverified matching email; PR:N as no prior Trigger.dev authentication is required; A:N since availability is unaffected.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Trigger.dev is a platform for building and deploying fully managed AI agents and workflows. Prior to 4.5.2, addGoogleStrategy() in apps/webapp/app/services/googleAuth.server.ts passes a Google profile email to findOrCreateGoogleUser() in apps/webapp/app/models/user.server.ts without requiring Google's email_verified assertion. When existingEmailUser && !existingUser is true, the flow writes the new Google authIdentifier into the existing email-matched account and returns that user object, allowing an attacker-controlled Google profile with an unverified matching email to take over the account. This issue is fixed in version 4.5.2.
Executive ViewAI
Trigger.dev versions prior to 4.5.2 are vulnerable to unauthenticated account takeover affecting users who have not linked a Google OAuth identity. An attacker can compromise any targeted account by presenting a Google profile with an unverified email matching the victim's registered address, gaining full access to workflows, credentials, and integration data. Organizations using Trigger.dev for critical automation workflows face operational disruption and potential data exposure.
Apply vendor patch: Trigger.dev v4.5.2 or later
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Trigger Dev
View allPrototype pollution in Trigger.dev's run metadata API (versions 3.3.8 through 4.5.5) lets any authenticated tenant corru
Cross-tenant authorization bypass in Trigger.dev before 4.5.6 lets a caller holding a valid API key for one project act
Missing authorization on the run replay API endpoint in Trigger.dev before 4.5.2 allows authenticated attackers to injec
Cross-tenant path traversal in Trigger.dev versions 4.4.2 through pre-4.5.0-rc.5 allows any authenticated tenant holding
Path traversal in Trigger.dev's packet presign API routes (versions 4.4.2 through 4.4.x) allows a holder of any valid pr
Trigger.dev before 4.6.0 allows an authenticated low-privilege user to bind an arbitrary GitHub App installation to thei
Server-side request forgery in Trigger.dev before 4.5.2 allows authenticated organization members to register webhook al
Cross-tenant run replay in Trigger.dev 4.4.2-4.5.0-rc.3 allows any authenticated API key holder to replay task runs belo
EUVD-2026-58383
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB