CVE-2026-75511
MediumCVSS 5.3Summary
Novu before version 3.18.0 does not validate chat webhook URLs from various sources, passing them to raw HTTP requests. An authenticated user can send POST requests to internal network services, potentially causing unauthorized actions.
Risk Assessment
An attacker can exploit this to issue requests on behalf of Novu workers to internal services, risking unauthorized operations or data exposure.
Recommendation
Upgrade Novu to version 3.18.0 or later, which includes a fix blocking unsafe URLs.
Other vulnerabilities in Novu
See all- CVE-2026-75517Medium
In Novu prior to 3.18.0, 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.
- CVE-2026-75510Medium
Novu before version 3.18.0 accepts notification redirect URLs without validating the URL scheme, allowing javascript: in the redirect attribute. When a recipient clicks the notification, JavaScript can execute in the app context, potentially exposing session data.
Original NVD description (English source)
Novu provides an API for sending notifications through multiple channels. Prior to 3.18.0, Novu accepts chat webhook URLs from subscriber credentials.webhookUrl, channel endpoint endpoint.url, event payload.webhookUrl, and event overrides.webhookUrl, then passes the selected endpoint.url through send-message-chat.usecase.ts to raw HTTP requests in the Slack, Discord, Mattermost, Microsoft Teams, Grafana On-Call, Ryver, Rocket.Chat, GetStream, and Zulip providers. An authenticated user can supply an internal or otherwise restricted destination because these paths do not apply normalizeOutboundHttpUrl, assertSafeOutboundUrl, or the DNS-pinned safeOutboundJsonRequest protection used by the generic webhook providers. The Novu worker can consequently issue attacker-directed POST requests to internal network services and cause interactions or actions supported by those services. This issue is fixed in version 3.18.0.

