Skip to main content

Novu EUVDEUVD-2026-84538

| CVE-2026-75517 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-09-22 GitHub_M
6.5
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain credential for one org environment
  2. Delivery
    Enumerate integrationId from another environment
  3. Exploit
    Send integration mutation request (delete/update/set-primary)
  4. Execution
    Cross-environment authz check bypassed
  5. Impact
    Delete 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

novu < 3.18.0
api-service < 3.18.0

Affected Packages

euvd api_service fix: 3.18.0
euvd novu fix: 3.18.0

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

Vendor (GitHub_M) PRIMARY 6.5 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:H/A:H
vuln.today AI 8.1 HIGH

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

1
Patch available
Sep 22, 2026 - 17:17 EUVD

DescriptionCVE.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

EPSS Score
0.7%
Top 48% exploitable
Prevalence
Medium
Popular open-source notification infrastructure, GitHub-popular but modest self-hosted production footprint
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.7%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

33
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +32
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy