Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain credential for one org environment
-
DeliveryEnumerate integrationId from another environment
-
ExploitSend integration mutation request (delete/update/set-primary)
-
ExecutionCross-environment authz check bypassed
-
ImpactDelete integration or hijack provider credentials
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires an authenticated foothold - a valid environment-scoped API key OR a dashboard (JWT) session - for at least one environment within the target Novu organization; the attacker must also know or enumerate the target integrationId of a different environment in the same organization. Exploitation targets the integration mutation endpoints (remove-integration, update-integration, auto-configure-integration, set-integration-as-primary). Limiting factors: no unauthenticated path (attacker must already be an org member/hold a key), and after v3.18.0 the API-key vector is blocked ('is scoped to a single environment', HTTP 403) - but dashboard-session/JWT exploitation remains possible even on 3.18.0 because the fix intentionally does not cover it. Cross-organization access is not possible; the boundary crossed is between environments within one organization. |
| Impact | This is a genuine but moderate-severity authorization flaw, not an inflated high-CVSS finding. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H, 6.5) correctly captures a network-reachable, low-complexity, authenticated integrity/availability issue with no confidentiality impact - the attacker cannot read integration secrets, only overwrite, delete, re-point, or auto-configure them across environment boundaries. No EPSS, KEV, or POC data was provided, so exploitation status is 'no public exploit identified at time of analysis'; the flaw is IDOR-style (CWE-639) and trivially scriptable once an attacker holds a valid credential in any one environment of the target organization, but it is not opportunistically internet-mass-exploitable because it requires an authenticated foothold. A critical nuance from the advisory: the 3.18.0 'fix' is only partial - it enforces the environmentId boundary for environment-scoped API-key authentication but its own tests intentionally preserve cross-environment behavior for dashboard-session (JWT) auth, so dashboard-session exploitation remains unremediated and 'requires curator resolution.' Defenders should treat 3.18.0 as incomplete rather than a clean fix. There is a mild PR disagreement to verify: the vendor chose PR:H, but the description only requires 'access to one environment in an organization,' which reads like an ordinary org member (PR:L) rather than a high-privilege actor. |
| Exploit ScenarioDerived | An attacker holding a legitimate credential (environment API key or dashboard session) for a single, low-value environment in a Novu organization enumerates or obtains an integrationId belonging to a different, higher-value environment (e.g. Production). They call a mutation endpoint such as DELETE /v1/integrations/:integrationId, set-primary, or auto-configure; because the lookup only checks integrationId + organizationId and not environmentId, the request succeeds cross-environment, letting them delete the integration, overwrite provider credentials, or change the primary provider. No public exploit code is identified, but the attack is low-complexity and scriptable given valid authentication. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 22, 2026
Cross-environment integration tampering in Novu before 3.18.0 lets an authenticated caller who holds an environment-scoped API key or a dashboard (JWT) session for one environment act on an integration that belongs to a different environment within the same organization, deleting it, rewriting its provider credentials, promoting it to primary, or triggering auto-configuration by supplying the target environment's integrationId. The advisory-defined scope covers both environment API keys and dashboard sessions, but the v3.18.0 release closes only the environment-scoped API-key path (HTTP 403, 'is scoped to a single environment') while its own tests deliberately preserve cross-environment dashboard-session behavior, so 3.18.0 is a partial remediation and installations at or above that version remain exposed through the JWT/dashboard vector. Severity is moderate (CVSS 6.5, CWE-639): integrity and availability are fully impacted while confidentiality is not, no cross-organization access is possible, exploitation requires existing authenticated access plus knowledge or enumeration of a target integrationId, and no public exploit code or confirmed active exploitation has been identified at time of analysis.
RemediationAI
Vendor-released patch: v3.18.0 (https://github.com/novuhq/novu/releases/tag/v3.18.0) - deploy it immediately, but treat it as a partial fix rather than full closure, since it only enforces the environment boundary for environment-scoped API-key authentication while the fix pull request https://github.com/novuhq/novu/pull/11480 and commit https://github.com/novuhq/novu/commit/3d9bbdccf4e36224b5558c245d2b7c085b5d5302 deliberately keep cross-environment dashboard-session behavior, meaning the advisory-defined scope is not fully remediated and needs curator/maintainer resolution for the JWT path. Until that lands, the highest-value compensating controls are: revoke and rotate credentials for every provider integration in all environments (SendGrid keys, secrets, webhook tokens) because update-integration can overwrite or expose stored credentials; restrict dashboard membership and JWT session issuance to trusted operators, and audit organization membership, since the residual vector requires a valid dashboard session for at least one environment in the organization (the trade-off is loss of self-service dashboard access for less-trusted staff); apply a local patch or middleware that appends the caller's active environmentId to every /v1/integrations/:integrationId mutation lookup even for JWT sessions - the trade-off is breaking the intentional cross-environment dashboard workflow, which requires adding an explicit environment selector to the UI; temporarily disable or gate the auto-configure endpoint and the set-primary action at the reverse proxy for non-production environments; and alert on delete-integration, set-primary, and credential-rotation events where the acting session's environment differs from the target integration's environment, which gives detection coverage without functional impact. Cross-organization access is not achievable, so scoping users strictly to their own organization does not mitigate the environment-boundary weakness.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Novu is a notification infrastructure platform built around a hierarchical tenant model: an organization contains multiple environments (typically Development and Production), and each environment owns a set of channel integrations (for example SendGrid for email) that carry provider credentials. The flaw is CWE-639, Authorization Bypass Through User-Controlled Key: integration mutation use cases - remove-integration, update-integration, auto-configure-integration, and set-integration-as-primary - resolve an integration by the pair (integrationId, organizationId) taken from the request without consistently constraining the lookup by environmentId. Because integrationId values for sibling environments share the same organizationId, the organization-level check passes and the requested operation is applied to the wrong environment's record. The two authentication mechanisms that reach these endpoints have different natural scoping: environment-scoped API keys are minted for exactly one environment, whereas dashboard sessions authenticate a user via JWT at the organization level, which is why the shipped fix could enforce the boundary for API keys without breaking the dashboard workflow - and why the dashboard-session path remains open. The affected component is the Novu API service, reflected in the CPE entries cpe:2.3:a:novuhq:novu and cpe:2.3:a:@novu:api-service; the endpoint surface lives under /v1/integrations/:integrationId/* in the apps/api application.
Know when Novu 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:L/PR:H/UI:N/S:U/C:N/I:H/A:H
Network endpoint, low complexity; only ordinary single-environment access is needed so PR:L (vendor used PR:H); credential overwrite/deletion gives I:H/A:H, no secret disclosure so C:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Novu provides an API for sending notifications through multiple channels. Prior to 3.18.0, Novu integration mutation use cases including remove-integration, update-integration, auto-configure-integration, and set-integration-as-primary look up an integration by integrationId and organizationId without consistently enforcing environmentId. A caller with access to one environment in an organization can target an integration identifier from another environment and delete the integration, modify its credentials, change the primary provider, or trigger auto-configuration. The repository advisory defines both environment API keys and dashboard sessions as affected. The 3.18.0 change enforces the environment boundary only for environment-scoped API-key authentication, while its tests intentionally retain cross-environment dashboard-session behavior, so it does not completely remediate the advisory-defined scope. Version 3.18.0 is a partial fix attempt, and the dashboard-session behavior requires curator resolution.
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.
Stored cross-site scripting in Novu's in-app notification inbox (all versions prior to 3.18.0) allows an authenticated o
Novu provides an API for sending notifications through multiple channels. Rated medium severity (CVSS 6.1), this vulnera
Server-side request forgery in Novu prior to 3.18.0 allows an authenticated user to make the notification worker issue a
EUVD-2026-84538
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB